name=
+usage()
+{
+ echo "Usage: tg [...] depend add NAME" >&2
+ exit 1
+}
+
## Parse options
-subcmd="$1"; shift
-[ "$subcmd" = "-h" ] && {
- echo "Usage: tg [...] depend add NAME" >&2
- exit 1
-}
-[ "$subcmd" = "add" ] || die "unknown subcommand ($subcmd)"
+subcmd="$1"; shift || :
+case "$subcmd" in
+ -h|"")
+ usage;;
+ add)
+ ;;
+ *)
+ die "unknown subcommand ($subcmd)";;
+esac
while [ -n "$1" ]; do
arg="$1"; shift
case "$arg" in
-*)
- echo "Usage: tg [...] depend add NAME" >&2
- exit 1;;
+ usage;;
*)
[ -z "$name" ] || die "name already specified ($name)"
name="$arg";;
[ -n "$name" ] || die "no branch name specified"
branchrev="$(git rev-parse --verify "$name" 2>/dev/null)" ||
die "invalid branch name: $name"
-baserev="$(git rev-parse --verify "refs/top-bases/$name" 2>/dev/null)" ||
- die "not a TopGit topic branch: $name"
-
## Record new dependency
+depend_add()
+{
+ echo "$name" >>"$root_dir/.topdeps"
+ git add -f "$root_dir/.topdeps"
+ git commit -m"New TopGit dependency: $name"
+ $tg update
+}
+
+depend_$subcmd
-echo "$name" >>.topdeps
-git add .topdeps
-git commit -m"New TopGit dependency: $name"
-$tg update
+# vim:noet