git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Matthias Lehmann <mat@matlehmann.de>
Date
Apr 28, 2010, 12:29 UTC
Message-ID
<201004281429.26579.mat@matlehmann.de>
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
Next: Matthias Lehmann
Message 1 of 2 in “git-apply fails on creating a new file, with both -p and --directory specified”
  1. Matthias LehmannApr 28, 2010
  2. Matthias LehmannApr 29, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.