From 86947d72d422aeaaeb4c1f41b49fc7a606c96321 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Tue, 16 Aug 2005 13:01:39 -0700 Subject: [PATCH] Pass options to underlying git-rev-list from show-branches. This lets you say "git show-branches --max-count=30". Signed-off-by: Junio C Hamano --- git-show-branches-script | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/git-show-branches-script b/git-show-branches-script index 263025c47..90018a9e8 100755 --- a/git-show-branches-script +++ b/git-show-branches-script @@ -5,15 +5,23 @@ . git-sh-setup-script || die "Not a git repository" +usage () { + die "usage: $0 ..." +} + headref=`readlink $GIT_DIR/HEAD` -case "$#" in -0) - set x `cd $GIT_DIR/refs && - find heads -type f -print | - sed -e 's|heads/||' | - sort` + +case "$(git-rev-parse --no-revs)" in '') ;; *) usage ;; esac +revs=$(git-rev-parse --revs-only --symbolic --no-flags "$@") +flags=$(git-rev-parse --revs-only --flags "$@") +case "$revs" in +'') + revs=$(git-rev-parse --symbolic --all | sed -ne 's|^refs/heads/||p' | + sort) shift ;; esac +set x $revs +shift hh= in= for ref @@ -22,7 +30,7 @@ do */"$ref") H='*' ;; *) H='!' ;; esac - h=`git-rev-parse --verify "$ref^0"` || exit + h=`git-rev-parse --verify "$ref^0" 2>/dev/null` || continue l=`git-log-script --max-count=1 --pretty=oneline "$h" | sed -e 's/^[^ ]* //'` hh="$hh $h" @@ -32,7 +40,7 @@ done set x $hh shift -git-rev-list --pretty=oneline "$@" | +git-rev-list --pretty=oneline $flags $@ | while read v l do in='' -- 2.26.2