From: "Steven J. Murdoch" <git+Steven.Murdoch@cl.cam.ac.uk>
To: git@vger.kernel.org
Subject: git-apply fails on creating a new file, with both -p and --directory specified
Date: Mon, 23 Nov 2009 19:45:24 +0000 [thread overview]
Message-ID: <20091123194523.GZ15966@cl.cam.ac.uk> (raw)
While trying to apply a patch from one repository (created by
git-format-patch), to another (using git-am), git fails with:
"fatal: git apply: bad git-diff - inconsistent new filename on line X"
This appears to be because I was both using -p to strip some path
components, and --directory to add different ones in. Only creating
new files was affected.
This was the case in git 1.6.5.2, and also the development version
1.6.6.rc0.15.g4fa80. I have tested this on MacOS X Snow Leopard.
This appears related to the bug discussed in:
http://marc.info/?l=git&m=122237537312597&w=2
in which the following fix was posted:
http://git.kernel.org/?p=git/git.git;a=commitdiff;h=969c877506cf8cc760c7b251fef6c5b6850bfc19
I have included a patch below to the test cases, which currently fails
but, if I understand correctly, should succeed.
Steven Murdoch.
-- >8 --
Test git-apply creating a new file, combining --directory and -p flags
Signed-off-by: Steven Murdoch <Steven.Murdoch@cl.cam.ac.uk>
---
t/t4128-apply-root.sh | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/t/t4128-apply-root.sh b/t/t4128-apply-root.sh
index 8f6aea4..6cc741a 100755
--- a/t/t4128-apply-root.sh
+++ b/t/t4128-apply-root.sh
@@ -58,6 +58,23 @@ test_expect_success 'apply --directory (new file)' '
'
cat > patch << EOF
+diff --git a/c/newfile2 b/c/newfile2
+new file mode 100644
+index 0000000..d95f3ad
+--- /dev/null
++++ b/c/newfile2
+@@ -0,0 +1 @@
++content
+EOF
+
+test_expect_success 'apply --directory -p (new file)' '
+ git reset --hard initial &&
+ git apply -p2 --directory=some/sub/dir/ --index patch &&
+ test content = $(git show :some/sub/dir/newfile2) &&
+ test content = $(cat some/sub/dir/newfile2)
+'
+
+cat > patch << EOF
diff --git a/delfile b/delfile
deleted file mode 100644
index d95f3ad..0000000
--
1.6.5.2
--
http://www.cl.cam.ac.uk/users/sjm217/
next reply other threads:[~2009-11-23 19:45 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-23 19:45 Steven J. Murdoch [this message]
2009-11-25 10:56 ` git-apply fails on creating a new file, with both -p and --directory specified Junio C Hamano
2009-12-07 21:35 ` James Vega
2009-12-08 2:59 ` Junio C Hamano
2009-12-08 3:20 ` Junio C Hamano
2009-12-08 5:47 ` Jeff King
2009-12-08 6:01 ` Jeff King
2009-12-08 6:49 ` James Vega
2009-12-08 7:28 ` Junio C Hamano
2009-12-08 7:49 ` Jeff King
2009-12-08 7:53 ` Junio C Hamano
2009-12-08 7:11 ` Junio C Hamano
2009-12-08 7:38 ` Jeff King
2009-12-08 3:39 ` James Vega
-- strict thread matches above, loose matches on Subject: below --
2010-04-28 12:29 Matthias Lehmann
2010-04-29 8:20 ` Matthias Lehmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091123194523.GZ15966@cl.cam.ac.uk \
--to=git+steven.murdoch@cl.cam.ac.uk \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).