Merge branch 'js/apply-recount-allow-noop'

When editing a patch in a "git add -i" session, a hunk could be
made to no-op.  The "git apply" program used to reject a patch with
such a no-op hunk to catch user mistakes, but it is now updated to
explicitly allow a no-op hunk in an edited patch.

* js/apply-recount-allow-noop:
  apply --recount: allow "no-op hunks"
This commit is contained in:
Junio C Hamano 2018-11-18 18:23:56 +09:00
commit bda53f4185
2 changed files with 13 additions and 1 deletions

View file

@ -1748,7 +1748,7 @@ static int parse_fragment(struct apply_state *state,
}
if (oldlines || newlines)
return -1;
if (!deleted && !added)
if (!patch->recount && !deleted && !added)
return -1;
fragment->leading = leading;

View file

@ -29,6 +29,18 @@ test_expect_success 'apply exits non-zero with no-op patch' '
test_must_fail git apply --check input
'
test_expect_success '`apply --recount` allows no-op patch' '
echo 1 >1 &&
git apply --recount --check <<-\EOF
diff --get a/1 b/1
index 6696ea4..606eddd 100644
--- a/1
+++ b/1
@@ -1,1 +1,1 @@
1
EOF
'
test_expect_success 'invalid combination: create and copy' '
test_must_fail git apply --check - <<-\EOF
diff --git a/1 b/2