X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg.sh;h=b848f7863ae6f482dd7d37d4df9ebd07e91dc509;hp=9d08d636af97b6b4f3ad574b7fa486cca119f7aa;hb=83d44c01a9494fdd1935012f3bad5ed805c750a3;hpb=9404aa1ac356646adf93d1761263031efa570dc5 diff --git a/tg.sh b/tg.sh index 9d08d63..b848f78 100644 --- a/tg.sh +++ b/tg.sh @@ -239,6 +239,27 @@ branch_empty() [ -z "$(git diff-tree "refs/top-bases/$1" "$1" -- | fgrep -v " .top")" ] } +# list_deps +list_deps() +{ + git for-each-ref refs/top-bases | + while read rev type ref; do + name="${ref#refs/top-bases/}" + if branch_annihilated "$name"; then + continue; + fi + + git cat-file blob "$name:.topdeps" | while read dep; do + dep_is_tgish=true + ref_exists "refs/top-bases/$dep" || + dep_is_tgish=false + if ! "$dep_is_tgish" || ! branch_annihilated $dep; then + echo "$name $dep" + fi + done + done +} + # switch_to_base NAME [SEED] switch_to_base() {