chiark / gitweb /
498eec4e3e0018c0d57c6f24ee788e7e13aaf48c
[topgit.git] / tg-depend.sh
1 #!/bin/sh
2 # TopGit - A different patch queue manager
3 # (c) Petr Baudis <pasky@suse.cz>  2008
4 # GPLv2
5
6 name=
7
8
9 ## Parse options
10
11 subcmd="$1"; shift
12 [ "$subcmd" = "-h" ] && {
13         echo "Usage: tg [...] depend add NAME" >&2
14         exit 1
15 }
16 [ "$subcmd" = "add" ] || die "unknown subcommand ($subcmd)"
17
18 while [ -n "$1" ]; do
19         arg="$1"; shift
20         case "$arg" in
21         -*)
22                 echo "Usage: tg [...] depend add NAME" >&2
23                 exit 1;;
24         *)
25                 [ -z "$name" ] || die "name already specified ($name)"
26                 name="$arg";;
27         esac
28 done
29
30
31 ## Sanity checks
32
33 [ -n "$name" ] || die "no branch name specified"
34 branchrev="$(git rev-parse --verify "$name" 2>/dev/null)" ||
35         die "invalid branch name: $name"
36 baserev="$(git rev-parse --verify "refs/top-bases/$name" 2>/dev/null)" ||
37         die "not a TopGit topic branch: $name"
38
39
40 ## Record new dependency
41
42 echo "$name" >>.topdeps
43 git add .topdeps
44 git commit -m"New TopGit dependency: $name"
45 $tg update