X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=topgit.git;a=blobdiff_plain;f=tg-update.sh;h=288ec14f849495734fec17b839abf678f366ad78;hp=f36624fe71b73263471e5df8fbb0014d47ca2ee0;hb=a7e52f09c0aa8a6515134aa458d7eba60b6f8001;hpb=d5cc14199b3186453a1819a3ac3a31725cda66f9 diff --git a/tg-update.sh b/tg-update.sh index f36624f..288ec14 100644 --- a/tg-update.sh +++ b/tg-update.sh @@ -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" @@ -140,3 +142,5 @@ if ! git merge "$merge_with"; then fi exit 3 fi + +# vim:noet