chiark / gitweb /
6d98b5f556f0e1622cc0cfd6297561e9e9255d38
[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 usage()
10 {
11     echo "Usage: tg [...] depend add NAME" >&2
12     exit 1
13 }
14
15 ## Parse options
16
17 subcmd="$1"; shift || :
18 case "$subcmd" in
19         -h|"")
20                 usage;;
21         add)
22                 ;;
23         *)
24                 die "unknown subcommand ($subcmd)";;
25 esac
26
27 while [ -n "$1" ]; do
28         arg="$1"; shift
29         case "$arg" in
30         -*)
31                 usage;;
32         *)
33                 [ -z "$name" ] || die "name already specified ($name)"
34                 name="$arg";;
35         esac
36 done
37
38
39 ## Sanity checks
40
41 [ -n "$name" ] || die "no branch name specified"
42 branchrev="$(git rev-parse --verify "$name" 2>/dev/null)" ||
43         die "invalid branch name: $name"
44
45 ## Record new dependency
46 depend_add()
47 {
48         echo "$name" >>"$root_dir/.topdeps"
49         git add -f "$root_dir/.topdeps"
50         git commit -m"New TopGit dependency: $name"
51         $tg update
52 }
53
54 depend_$subcmd
55
56 # vim:noet