Re: [PATCH v3 3/4] git-submodule: New subcommand 'summary' (3) - limit summary size
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Mar 6, 2008, 00:24 UTC
- Message-ID
- <7v7iggitsd.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <1204481710-29791-3-git-send-email-pkufranky@gmail.com>
Ping Yin <pkufranky@gmail.com> writes:
> This patch teaches git-submodule an option '--summary-limit|-n <number>' > to limit number of commits in total for the summary. Number 0 will disable > summary and minus number means unlimted (the default).
I really doubt showing the bottom one specially makes sense.
Why not just read from
git log '--pretty=%m %h %s' --left-right --topo-order A...B
and show N top commits from each?
I've already said that I do not think applying the same limit to new/deleted/modified cases makes sense, so commenting on this part might be a moot point, though.
-- >8 --
#!/bin/sh
limit=10 A=cc/run-command B=jc/test
lf=' ' git log --pretty=format:%m\ %h\ %s --left-right $A...$B | ( left=0 right=0 l= r= llast= rlast= ilimit=$(( $limit - 1 )) while read leftright commit name do it="$leftright$commit $name" case "$leftright" in '<') if test $left -eq $ilimit then llast=$it elif test $left -le $ilimit then l="$l$it$lf" fi left=$(( $left + 1 )) ;; '>') if test $right -eq $ilimit then rlast=$it elif test $right -le $ilimit then r="$r$it$lf" fi right=$(( $right + 1 )) ;; esac done
printf %s "$l"
if test $left -eq $limit
then
echo "$llast"
elif test $left -gt $limit
then
echo "< ("$(( $left - $limit ))" more...)"
fi
printf %s "$r"
if test $right -eq $limit
then
echo "$rlast"
elif test $right -gt $limit
then
echo "> ("$(( $right - $limit ))" more...)"
fi
)