diff options
-rw-r--r-- | src/patch.c | 6 | ||||
-rw-r--r-- | tests/concat-git-diff | 41 |
2 files changed, 41 insertions, 6 deletions
diff --git a/src/patch.c b/src/patch.c index 0bce8fb..0b0fdd4 100644 --- a/src/patch.c +++ b/src/patch.c @@ -196,8 +196,12 @@ main (int argc, char **argv) if (have_git_diff != pch_git_diff ()) { + if (have_git_diff) + { + output_files (NULL); + inerrno = -1; + } have_git_diff = ! have_git_diff; - output_files (NULL); } if (TMPREJNAME_needs_removal) diff --git a/tests/concat-git-diff b/tests/concat-git-diff index 927eb5a..c78da53 100644 --- a/tests/concat-git-diff +++ b/tests/concat-git-diff @@ -56,11 +56,7 @@ check 'cat f' <<EOF three EOF -cat > f <<EOF -1 -2 -3 -EOF +seq 3 > f cat > concat2.diff <<EOF diff --git a/f b/f @@ -95,3 +91,38 @@ a 3 b EOF + +seq 3 > f + +cat > concat3.diff <<EOF +diff --git a/f b/f +index 01e79c3..0d0b976 100644 +--- a/f ++++ b/f +@@ -1,3 +1,4 @@ + 1 + 2 + 3 ++b +diff a/f b/f +--- a/f ++++ b/f +@@ -1,3 +1,4 @@ ++a + 1 + 2 + 3 +EOF + +check 'patch -p1 < concat3.diff || echo "Status: $?"' <<EOF +patching file f +patching file f +EOF + +check 'cat f' <<EOF +a +1 +2 +3 +b +EOF |