onemerge: quick check and exit when the numbers match

Before diving into inspecting each merge commit to see if it merges
more than two topics at the same time, we can count the number of
branches that are merged and the number of merge commits.  If they
match, we can skip the more expensive check.

This will break if we merge a topic in multiple steps, but we do not
do that these days, so it would be a reasonable optimization.
todo
Junio C Hamano 2026-07-13 11:07:10 -07:00
parent 8e01790140
commit e942edf96e
1 changed files with 8 additions and 0 deletions

View File

@ -4,6 +4,14 @@

endpoint=${1-seen}

cnt1=$(git lgf --grep="Merge branch '" master..$endpoint | wc -l)
cnt2=$(git branch --no-merged master --merged seen '??/*' | wc -l)

if test $cnt1 -eq $cnt2
then
exit 0
fi

tmp=/var/tmp/e.$$
rm -f "$tmp.1" "$tmp.2" &&
prev= &&