rules.mk, projects-dir.mk: Add git-log targets

The git targets of the workspace Makefile cover push, diff, and status, but
not history: inspecting commits means running git log by hand in a project
directory, and no target shows the history of all projects of a tree at
once.

Add git-log targets at both levels; the target suffix is passed to git log
as-is, so make git-log-5 asks for the last five commits.

- git-log-% in projects-dir.mk runs pgit.sh log over every project of the
  tree, one section per project
- git-log-% in rules.mk runs git log -$* in the current project directory
- git-log-tree-% in rules.mk runs git-log-$* in $(PROJECTS_DIR), giving the
  whole-tree view from inside a project; it prints a notice if PROJECTS_DIR
  is missing

Signed-off-by: Jan Lindemann <jan@janware.com>
Assisted-by: unsloth/Qwen3.8-27B-GGUF:Q4_K_M with pi.dev v0.85.1
This commit is contained in:
Jan Lindemann 2026-09-16 17:31:50 +02:00
commit 24fec38f75
Signed by: Jan Lindemann
GPG key ID: 3750640C9E25DD61
2 changed files with 13 additions and 0 deletions

View file

@ -337,6 +337,9 @@ git-short-diff: $(SSH_WRAPPER_SH)
git-status:
$(PGIT_SH) status -uno
git-log-%:
$(PGIT_SH) log -$* 2>&1
git-get: $(SSH_WRAPPER_SH)
$(PGIT_SH_GET_DEFAULT)
touch get.done

View file

@ -243,6 +243,16 @@ ifneq ($(EXE_PATH),)
endif
endif
git-log-%:
git log -$* 2>&1
git-log-tree-%:
ifneq ($(PROJECTS_DIR),)
make --no-print-directory -C $(PROJECTS_DIR) git-log-$* 2>&1
else
@echo "No PROJECTS_DIR defined to log commits for"
endif
# -- special built-in targets
.PRECIOUS: $(LOCAL_H)