X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg-create.sh;h=0db1cf376bdde093396a96cfd8df0eec8a96fd00;hp=b5c7789315b6d6448b407ab2370013ebbd34a62c;hb=ab712f2ed92a6e451bf2d482b03d2559697bf100;hpb=308892d0c071135031994606170c8be6653e7197 diff --git a/tg-create.sh b/tg-create.sh index b5c7789..0db1cf3 100644 --- a/tg-create.sh +++ b/tg-create.sh @@ -14,28 +14,30 @@ name= while [ -n "$1" ]; do arg="$1"; shift case "$arg" in - -d) - deps="$(echo "$1" | sed 's/,/ /g')"; shift;; -*) echo "Usage: tg create [-d DEPS...] NAME" >&2 exit 1;; *) - [ -z "$name" ] || die "name already specified ($name)" - name="$arg";; + if [ -z "$name" ]; then + name="$arg" + else + deps="$deps $arg" + fi;; esac done ## Auto-guess dependencies +deps="${deps# }" if [ -z "$deps" ]; then head="$(git symbolic-ref HEAD)" - bname="${heads#refs/top-bases/}" + bname="${head#refs/top-bases/}" if [ "$bname" != "$head" -a -s "$git_dir/top-deps" -a -s "$git_dir/top-merge" ]; then # We are on a base branch now; resume merge! deps="$(cat "$git_dir/top-deps")" - merge="$(cat "$git_dir/top-merge") " - name="$base" + merge="$(cat "$git_dir/top-merge")" + name="$bname" restarted=1 info "Resuming $name setup..." else @@ -114,5 +116,5 @@ git add "$root_dir/.topmsg" -info "Topic branch $name successfully set up. Please fill .topmsg now." -info "You MUST do an initial commit. To abort: git rm -f .top* && git checkout ${deps%% *} && tg delete $name" +info "Topic branch $name set up. Please fill .topmsg now and make initial commit." +info "To abort: git rm -f .top* && git checkout ${deps%% *} && tg delete $name"