git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH] Pass options to underlying git-rev-list from show-branches.

From
Junio C Hamano <junkio@cox.net>
Date
Aug 17, 2005, 05:34 UTC
Message-ID
<7vzmrh2kkt.fsf@assigned-by-dhcp.cox.net>
This lets you say "git show-branches --max-count=30".
Signed-off-by: Junio C Hamano <junkio@cox.net>
---
    And this is how --symbolic is used to pick out the named rev
    parameters.
 git-show-branches-script |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)
34ac753b1b26d52ac502ec6ca5c2eb021818cfaa
diff --git a/git-show-branches-script b/git-show-branches-script
--- 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 <ref>..."
+}
+
 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=''
Message 1 of 1 in “Pass options to underlying git-rev-list from show-branches.”
  1. Pass options to underlying git-rev-list from show-branches.Junio C Hamano, Aug 17, 2005

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.