Kevin Shanahan wrote: > 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 - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html