author | Junio C Hamano <gitster@pobox.com> | |
Mon, 10 Nov 2008 23:49:03 +0000 (15:49 -0800) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 23 Jul 2010 21:44:38 +0000 (14:44 -0700) | ||
commit | 18cdf802ca6e2772b5901f786f59de3843299b1c | |
tree | fbfb9bbf456c2c9a5280c4522dac85fd4c56e9d6 | tree | snapshot |
parent | 5d274859444260142a77b844ab616f07bf80aaa5 | commit | diff |
Teach "apply --index-info" to handle rename patches
With v1.5.3.2~14 (apply --index-info: fall back to current index for
mode changes, 2007-09-17), git apply learned to stop worrying
about the lack of diff index line when a file already present in the
current index had no content change.
But it still worries too much: for rename patches, it is checking
that both the old and new filename are present in the current
index. This makes no sense, since a file rename generally
involves creating a file there was none before.
So just check the old filename.
Noticed while trying to use “git rebase” with diff.renames = copies.
[jn: add tests]
Reported-by: David D. Kilzer <ddkilzer@kilzer.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
With v1.5.3.2~14 (apply --index-info: fall back to current index for
mode changes, 2007-09-17), git apply learned to stop worrying
about the lack of diff index line when a file already present in the
current index had no content change.
But it still worries too much: for rename patches, it is checking
that both the old and new filename are present in the current
index. This makes no sense, since a file rename generally
involves creating a file there was none before.
So just check the old filename.
Noticed while trying to use “git rebase” with diff.renames = copies.
[jn: add tests]
Reported-by: David D. Kilzer <ddkilzer@kilzer.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/apply.c | diff | blob | history | |
t/t4150-am.sh | diff | blob | history |