chiark / gitweb /
Merge commit 'refs/top-bases/fixes/more-help' into fixes/more-help
[topgit.git] / tg-prev.sh
1 #!/bin/sh
2 # TopGit - A different patch queue manager
3 # (c) Petr Baudis <pasky@suse.cz>  2008
4 # (c) Bert Wesarg <Bert.Wesarg@googlemail.com>  2009
5 # GPLv2
6
7 name=
8 head_from=
9
10
11 ## Parse options
12
13 while [ -n "$1" ]; do
14         arg="$1"; shift
15         case "$arg" in
16         -i|-w)
17                 [ -z "$head_from" ] || die "-i and -w are mutually exclusive"
18                 head_from="$arg";;
19         -*)
20                 echo "Usage: tg next [-i | -w] [NAME]" >&2
21                 exit 1;;
22         *)
23                 [ -z "$name" ] || die "name already specified ($name)"
24                 name="$arg";;
25         esac
26 done
27
28 head="$(git rev-parse --abbrev-ref=loose HEAD)"
29 [ -n "$name" ] ||
30         name="$head"
31 base_rev="$(git rev-parse --short --verify "refs/top-bases/$name" 2>/dev/null)" ||
32         die "not a TopGit-controlled branch"
33
34 # select .topdeps source for HEAD branch
35 [ "x$name" = "x$head" ] ||
36         head_from=
37
38 cat_file "$name:.topdeps" $head_from