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
author_addr="${author%> *}>"
{
echo "From: $author_addr"
+ ! header="$(git config topgit.to)" || echo "To: $header"
+ ! header="$(git config topgit.cc)" || echo "Cc: $header"
+ ! header="$(git config topgit.bcc)" || echo "Bcc: $header"
echo "Subject: [PATCH] $1"
echo
cat <<EOT
-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"