From: Lukas Sandström Date: Wed, 19 Jul 2006 20:28:00 +0000 (+0200) Subject: git-am: Don't accept an mbox on stdin of we already have a .dotest directory X-Git-Tag: v1.4.2-rc2~14 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=cbd64af;p=git.git git-am: Don't accept an mbox on stdin of we already have a .dotest directory It makes no sense to accept an mbox via stdin when we won't accept it on the commandline. The patch helps the following scenario: # git init-db "add file1 with content" # git checkout -b apply "edit file1 && commit" # git checkout -b conflict master "edit file1 && commit" # git checkout -b ok master "add file2" # git checkout apply # git format-patch -k -3 master..conflict | git am -k -3 => git-am fails with a conflict message # git reset --hard # git format-patch -k -3 master..ok | git am -k -3 => git am fails with the same conflict message as above, => since it's trying to apply the old .dotest directory With the patch it complains about an old .dotest directory instead. Signed-off-by: Lukas Sandström Signed-off-by: Junio C Hamano --- diff --git a/git-am.sh b/git-am.sh index 3a129e002..04f011943 100755 --- a/git-am.sh +++ b/git-am.sh @@ -156,8 +156,10 @@ fi if test -d "$dotest" then - test ",$#," = ",0," || - die "previous dotest directory $dotest still exists but mbox given." + if test ",$#," != ",0," || ! tty -s + then + die "previous dotest directory $dotest still exists but mbox given." + fi resume=yes else # Make sure we are not given --skip nor --resolved