chiark / gitweb /
Fix pretty_tree to work in a subdirectory
[topgit.git] / tg-depend.sh
index 498eec4e3e0018c0d57c6f24ee788e7e13aaf48c..6d98b5f556f0e1622cc0cfd6297561e9e9255d38 100644 (file)
@@ -6,21 +6,29 @@
 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";;
@@ -33,13 +41,16 @@ done
 [ -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