@ -46,14 +46,10 @@ check-fork-divergence: ## Verify the fork differs from upstream only under deplo
echo "Fork is clean: no differences outside deploy/prod/." ; \
echo "Fork is clean: no differences outside deploy/prod/." ; \
fi
fi
upstream-pending : ## For a fork: list local commits marked "Upstream: yes" that upstream lacks
upstream-pending : ## For a fork: list local commits owed upstream
@git fetch --quiet upstream 2>/dev/null || { echo "No 'upstream' remote." ; exit 1; }
@git fetch --quiet upstream 2>/dev/null || { echo "No 'upstream' remote." ; exit 1; }
@echo "Marked for upstream, not yet there:"
@echo "Marked 'Upstream: yes' and not yet upstream:"
@git log --format= '%h %s%n%b' upstream/main..HEAD 2>/dev/null \
@git log --format= ' %h %s' --grep= '^Upstream: *[Yy]es' upstream/main..HEAD | grep . || echo " (none)"
| awk '/^[0-9a-f]{7,} /{h=$$0} /^Upstream: *[Yy]es/{print " " h}' \
| grep . || echo " (none)"
@echo
@echo
@echo "Unmarked — decide and amend, or ignore:"
@echo "No Upstream: marker — decide, then amend the message:"
@git log --format= '%H%x09%h %s' upstream/main..HEAD 2>/dev/null | while IFS = $$ '\t' read -r sha line; do \
@git log --format= ' %h %s' --invert-grep --grep= '^Upstream:' upstream/main..HEAD | grep . || echo " (none)"
git log -1 --format= '%B' " $$ sha " | grep -qi '^Upstream:' || echo " $$ line " ; \
done | grep . || echo " (none)"