X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg-prev.sh;fp=tg-prev.sh;h=1f1e0c16df055812274316cadfce49bcafe2df84;hp=0000000000000000000000000000000000000000;hb=7fc96160f2d30e75194eb3d8958a4f910a101735;hpb=f1b31d39c87bbd77f8c4a243e4e639e7d7f453dd diff --git a/tg-prev.sh b/tg-prev.sh new file mode 100644 index 0000000..1f1e0c1 --- /dev/null +++ b/tg-prev.sh @@ -0,0 +1,38 @@ +#!/bin/sh +# TopGit - A different patch queue manager +# (c) Petr Baudis 2008 +# (c) Bert Wesarg 2009 +# GPLv2 + +name= +head_from= + + +## Parse options + +while [ -n "$1" ]; do + arg="$1"; shift + case "$arg" in + -i|-w) + [ -z "$head_from" ] || die "-i and -w are mutually exclusive" + head_from="$arg";; + -*) + echo "Usage: tg next [-i | -w] [NAME]" >&2 + exit 1;; + *) + [ -z "$name" ] || die "name already specified ($name)" + name="$arg";; + esac +done + +head="$(git rev-parse --abbrev-ref=loose HEAD)" +[ -n "$name" ] || + name="$head" +base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" || + die "not a TopGit-controlled branch" + +# select .topdeps source for HEAD branch +[ "x$name" = "x$head" ] || + head_from= + +cat_file "$name:.topdeps" $head_from