From: Petr Baudis Date: Thu, 25 Sep 2008 14:55:09 +0000 (+0200) Subject: tg summary -t: Very quick mode, only branch names X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=commitdiff_plain;h=f5e3413132a2403ab97833bac4644d3d7ee3253e;hp=7b7ec06945024ed99181fac2b88f8fe44eb5a6f8 tg summary -t: Very quick mode, only branch names --- diff --git a/README b/README index 2cfad59..8a68a65 100644 --- a/README +++ b/README @@ -329,6 +329,10 @@ tg summary '!' marks that it has missing dependencies (even recursively), 'B' marks that it is out-of-date wrt. its base). + This can take long time to accurately determine all the relevant + information about each branch; you can pass '-t' to get just + terse list of topic branch names quickly. + TODO: Speed up by an order of magnitude TODO: Graph view diff --git a/tg-summary.sh b/tg-summary.sh index 409f456..3905bdc 100644 --- a/tg-summary.sh +++ b/tg-summary.sh @@ -3,13 +3,21 @@ # (c) Petr Baudis 2008 # GPLv2 +terse= + ## Parse options -if [ -n "$1" ]; then - echo "Usage: tg [...] summary" >&2 - exit 1 -fi +while [ -n "$1" ]; do + arg="$1"; shift + case "$arg" in + -t) + terse=1;; + *) + echo "Usage: tg [...] summary [-t]" >&2 + exit 1;; + esac +done curname="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')" @@ -19,6 +27,11 @@ curname="$(git symbolic-ref HEAD | sed 's#^refs/\(heads\|top-bases\)/##')" git for-each-ref refs/top-bases | while read rev type ref; do name="${ref#refs/top-bases/}" + if [ -n "$terse" ]; then + echo "$name" + continue + fi + missing_deps= current=' '