chiark / gitweb /
Generalize subcommand selection in "tg depend"
[topgit.git] / tg-depend.sh
index e1a6f17f279aa0b4ae8e6ba8030bd513d18e6a55..6d98b5f556f0e1622cc0cfd6297561e9e9255d38 100644 (file)
@@ -6,13 +6,18 @@
 name=
 
 
+usage()
+{
+    echo "Usage: tg [...] depend add NAME" >&2
+    exit 1
+}
+
 ## Parse options
 
 subcmd="$1"; shift || :
 case "$subcmd" in
        -h|"")
-               echo "Usage: tg [...] depend add NAME" >&2
-               exit 1;;
+               usage;;
        add)
                ;;
        *)
@@ -23,8 +28,7 @@ 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";;
@@ -39,10 +43,14 @@ branchrev="$(git rev-parse --verify "$name" 2>/dev/null)" ||
        die "invalid branch name: $name"
 
 ## Record new dependency
-
-echo "$name" >>"$root_dir/.topdeps"
-git add -f "$root_dir/.topdeps"
-git commit -m"New TopGit dependency: $name"
-$tg update
+depend_add()
+{
+       echo "$name" >>"$root_dir/.topdeps"
+       git add -f "$root_dir/.topdeps"
+       git commit -m"New TopGit dependency: $name"
+       $tg update
+}
+
+depend_$subcmd
 
 # vim:noet