From: Rudolf Polzer Date: Sat, 15 May 2010 18:11:23 +0000 (+0200) Subject: some fixes for ./all admin-merge-2 X-Git-Tag: xonotic-v0.1.0preview~459 X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=commitdiff_plain;h=0df1d199c891327ac940f3a75ea438ad846eeff0 some fixes for ./all admin-merge-2 --- diff --git a/all b/all index d9b08f96..104f9670 100755 --- a/all +++ b/all @@ -105,6 +105,7 @@ yesno() { yesno= while [ x"$yesno" != x"y" -a x"$yesno" != x"n" ]; do + eval "$2" echo "$1" IFS= read -r yesno done @@ -625,7 +626,7 @@ case "$cmd" in echo "$ref" if git notes --ref "refs/notes/admin-merge" show "$ref" 2>/dev/null; then echo "Not merging, already had this one" - elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ git log HEAD.."$ref"; git diff HEAD.."$ref"; } | less'; then + elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ git log HEAD.."$ref"; git diff HEAD..."$ref"; } | less'; then org=`git rev-parse HEAD` if ! git merge "$ref" 2>&1 | tee "$t"; then git reset --hard "$org" @@ -636,14 +637,15 @@ case "$cmd" in git notes --ref "refs/notes/admin-merge" add -m "Compile failed: `cat "$t"`" "$ref" elif ! yesno "Still merge \"$ref\" into `git symbolic-ref HEAD` of $d? Maybe you want to test first."; then - git reset --hard HEAD@{1} + git reset --hard "$org" git notes --ref "refs/notes/admin-merge" add "$ref" else git push origin HEAD - git push origin :"${ref#refs/remotes/origin/}" + if yesno "Delete original branch \"$ref\"?"; then + git push origin :"${ref#refs/remotes/origin/}" + fi fi else - git reset --hard HEAD@{1} git notes --ref "refs/notes/admin-merge" add "$ref" fi done