Re: Problem with git-apply?
Show 12 quoted lines
> I seem to be having problems using git-apply to apply any patch which
> creates a new file. Unfortunately it's been a few weeks since I last
> used git here locally, but this seems like some behaviour change since
> the last version I was using. I'm currently using version 1.4.3.3 from
> Debian Sid. This little test script demonstrates the problem I'm
> having:
>
> #!/bin/sh
>
> mkdir a b repo
> echo foo > b/foo
> diff -urN a b > test.diff
Which produces the following diff:
diff -urN a/foo b/foo
--- a/foo 1970-01-01 01:00:00.000000000 +0100
+++ b/foo 2006-11-04 10:05:04.000000000 +0100
@@ -0,0 +1 @@
+foo
> (
> cd repo
> echo bar > bar # need something to init the db
> git init-db
> git add .
> git commit -a -m "Test Commit"
>
> git apply ../test.diff
> git commit -a -m "Test Commit (file added)"
> )
>
> Here, this outputs for me:
>
> defaulting to local storage area
> Committing initial tree ee314a31b622b027c10981acaed7903a3607dbd4
> error: foo: No such file or directory
> nothing to commit
This I think is a bug, or rather misfeature in git-apply (or at least
inconsistency between GNU diff and git patch format). But if you change
from-file line from "--- a/foo" to "--- /dev/null" then git-apply happily
applies creation patch and creates file.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git