Using git am -p 2 with binary patches

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Using git am -p 2 with binary patches

Pico Geyer-2
Hi all.

I've been trying to apply a set of patches from one repository to a completely independent repository (no shared history).
Since the paths are different, I'm applying the patches with git am -p 2
I noticed that whenever my patches contain binary files, git-am fails to apply the patch.

Here's a simple test case:
mkdir gittmp
cd gittmp
git init
mkdir subdir
echo "abcdefghijklmnop" > blah.txt
tar -czf subdir/binfile.tgz blah.txt
git add subdir/binfile.tgz
git commit -m "Added binary file"
git format-patch --root HEAD
git am -p 2 0001-Added-binary-file.patch

And the output that I get is:
Applying: Added binary file
fatal: git diff header lacks filename information when removing 2 leading pathname components (line 9)
Patch failed at 0001 Added binary file
When you have resolved this problem run "git am --resolved".
If you would prefer to skip this patch, instead run "git am --skip".
To restore the original branch and stop patching run "git am --abort".

Is this a bug in git-am or git-apply?
Or is there a good reason why this doesn't work?

I'm using the latest git version (1.7.1)

Thanks in advance.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [hidden email]
More majordomo info at