From: Matt Kraai Date: Wed, 26 Sep 2007 01:30:13 +0000 (-0700) Subject: rebase -i: create .dotest-merge after validating options. X-Git-Tag: v1.5.4-rc0~411 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=5166810b1e16b22e342f2181a3535e70c6e7a119;p=git.git rebase -i: create .dotest-merge after validating options. Creating .dotest-merge before validating the options prevents both --continue and --interactive from working if the options are invalid, so only create it after validating the options. [jc: however, just moving the creation of DOTEST breaks output] Signed-off-by: Matt Kraai Acked-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index d751984f8..268a629c4 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -36,10 +36,9 @@ warn () { output () { case "$VERBOSE" in '') - "$@" > "$DOTEST"/output 2>&1 + output=$("$@" 2>&1 ) status=$? - test $status != 0 && - cat "$DOTEST"/output + test $status != 0 && printf "%s\n" "$output" return $status ;; *) @@ -428,7 +427,6 @@ do require_clean_work_tree - mkdir "$DOTEST" || die "Could not create temporary $DOTEST" if test ! -z "$2" then output git show-ref --verify --quiet "refs/heads/$2" || @@ -440,6 +438,8 @@ do HEAD=$(git rev-parse --verify HEAD) || die "No HEAD?" UPSTREAM=$(git rev-parse --verify "$1") || die "Invalid base" + mkdir "$DOTEST" || die "Could not create temporary $DOTEST" + test -z "$ONTO" && ONTO=$UPSTREAM : > "$DOTEST"/interactive || die "Could not mark as interactive"