X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;f=tg-update.sh;h=040800d6fb3805ef92519e436fe9cbb353cdbb77;hb=9ed64d4ec9cb0f9dca2a97d5607ae90dc1a06033;hp=94c8b5d16d5521bc0105140a836dc931e7d8a018;hpb=dfe1670c129c1ec6f46ae7b5cc610201a59cfbfd;p=topgit.git diff --git a/tg-update.sh b/tg-update.sh index 94c8b5d..040800d 100644 --- a/tg-update.sh +++ b/tg-update.sh @@ -9,7 +9,7 @@ name= ## Parse options if [ -n "$1" ]; then - echo "Usage: tg update" >&2 + echo "Usage: tg [...] update" >&2 exit 1 fi @@ -75,7 +75,7 @@ if [ -s "$depcheck" ]; then info "Updating base with $dep changes..." if ! git merge "$dep"; then if [ -z "$TG_RECURSIVE" ]; then - resume='`$tg update` again' + resume="\`git checkout $name && $tg update\` again" else # subshell resume='exit' fi @@ -87,14 +87,16 @@ if [ -s "$depcheck" ]; then exit 2 fi done - - # Home, sweet home... - git checkout -q "$name" else info "The base is up-to-date." fi rm "$depcheck" +# Home, sweet home... +# (We want to always switch back, in case we were on the base from failed +# previous merge.) +git checkout -q "$name" + merge_with="refs/top-bases/$name"