threads / discuss / 23629

git-apply fails on creating a new file, with both -p and --directory specified

Subject: git-apply fails on creating a new file, with both -p and --directory specified

## tl;dr

2 messages between Apr 28, 2010 and Apr 29, 2010.

replies: 1people: 1as markdown or json

Matthias Lehmann· Apr 28, 2010, 12:29 UTC · lore
Hi all,

the subject of this mail may read familiar to some - there was a discussion in November last year (see http://kerneltrap.org/mailarchive/git/2009/11/23/16899/) concerning this problem.

Today I had this same issue with git 1.7.0.4. Reading the above mentioned discussion and seaching the net did not help me in finding a solution to the problem.

I have to apply patches from one repository to another repository, which have a different layout (I am working on splitting one big repository into several smaller ones, while development still continues on the big repository).

So I did

big-repo$ git format-patche -o /tmp/foo small-repo$ git apply -p2 --directory=some/path --check /tmp/foo/*

and get

fatal: git diff header lacks filename information when removing 2 leading pathname components (line 37)

the patch looks like this:

35| diff --git a/xyz/bar.jpg b/xyz/bar.jpg 36| new file mode 100644 37| index 0000000000000000000000000000000000000000..3dcce2e1f68586ed2089d86b1bf4e7e41c818d97 38| GIT binary patch 39| literal 8791

Since this problem was discussed before - is there a solution? This is something like a showstopper for me right now, so I am very thankful for any hints.

Best regards,
Mat
Matthias Lehmann· Apr 29, 2010, 08:20 UTC · re: Matthias Lehmann · lore

Re: git-apply fails on creating a new file, with both -p and --directory specified

Matthias Lehmann wrote:
Show 32 quoted lines
> Hi all,
> 
> the subject of this mail may read familiar to some - there was a
> discussion in November last year (see
> http://kerneltrap.org/mailarchive/git/2009/11/23/16899/) concerning this
> problem.
> 
> Today I had this same issue with git 1.7.0.4. Reading the above mentioned
> discussion and seaching the net did not help me in finding a solution to
> the problem.
> 
> I have to apply patches from one repository to another repository, which
> have a different layout (I am working on splitting one big repository into
> several smaller ones, while development still continues on the big
> repository).
> 
> So I did
> 
> big-repo$ git format-patche -o /tmp/foo
> small-repo$ git apply -p2 --directory=some/path --check /tmp/foo/*
> 
> and get
> 
> fatal: git diff header lacks filename information when removing 2 leading
> pathname components (line 37)
> 
> the patch looks like this:
> 
> 35| diff --git a/xyz/bar.jpg b/xyz/bar.jpg
> 36| new file mode 100644
> 37| index
> 
0000000000000000000000000000000000000000..3dcce2e1f68586ed2089d86b1bf4e7e41c818d97
Show 12 quoted lines
> 38| GIT binary patch
> 39| literal 8791
> 
> 
> 
> Since this problem was discussed before - is there a solution?
> This is something like a showstopper for me right now, so I am very
> thankful for any hints.
> 
> Best regards,
> 
> Mat

Is there anything I can do to get some feedback to this issue? I don't want to be impatient, it's just quite important to me.

Since I have not much experience in reporting issues to a mailing list, it might well be, that I did something wrong - so please correct me and direct me to how I can be of better help.

Best regards,
Mat

← back to recent threads