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

Re: Rebase triggers "git diff header lacks filename information" on very large patch with binary files

From
Ddemerphq <demerphq@gmail.com>
Date
Jan 14, 2014, 12:15 UTC
Message-ID
<CANgJU+UJaj3z0E2LvFXrnOGyuBBBits=9hUQoaHe5cCbXVPyjg@mail.gmail.com>
In-Reply-To
<CANgJU+V93Vu--hqikX0+dfZf4MnbcmVeE3OFW5J1THNkYiCL6w@mail.gmail.com>
On 14 January 2014 12:48, demerphq <demerphq@gmail.com> wrote:
Show 50 quoted lines
> Hi,
>
> I just did a rebase, and it throws an error like this:
>
> Applying: comment1
> Applying: comment2
> Applying: comment3
> Applying: comment4
> Applying: patch_with_binary_files
> fatal: git diff header lacks filename information when removing 1
> leading pathname component (line 7330213)
> Repository lacks necessary blobs to fall back on 3-way merge.
> Cannot fall back to three-way merge.
> Patch failed at 0005 patch_with_binary_files
> The copy of the patch that failed is found in:
>    /usr/local/git_tree/affiliate_data/.git/rebase-apply/patch
>
> When you have resolved this problem, run "git rebase --continue".
> If you prefer to skip this patch, run "git rebase --skip" instead.
> To check out the original branch and stop rebasing, run "git rebase --abort".
>
> The patch is very large, 882453899 bytes.
>
> The patch also includes many binary files.
>
> Extracting the content around and before line 7330213 and up to the
> next diff header in the patch I see this:
>
> perl -lne'print "$.\t$_" if 7330169 .. 7330213' .git/rebase-apply/patch
> 7330169 diff --git a/dir1/dir2/file.png b/dir1/dir2/file.png
> 7330170 new file mode 100644
> 7330171 index 0000000000000000000000000000000000000000..8a3219cb6545f23e3f7c61f058d82fc2c1bd9aac
> 7330172 GIT binary patch
> 7330173 literal 11301
> 7330174 zcmXYX1ymeO)Ai!+PH-nk@Zb{MHE3{$;O=gVh2Rd06MPp4?hxD|K!5<jEd=*(p7;Ov
> [more lines of binary removed]
> 7330213 zznckDs-GVJg-A0uD|ONvCQWVX;j!JNnkQI9^=+zJ^SvLe1p-~c&7bmY5wu4C=(8F0
> [more lines of binary removed]
> 7330393 literal 0
> 7330394 HcmV?d00001
> 7330395
> 7330396 diff --git a/dir1/dir2/file.css b/dir1/dir2/file.css
> 7330397 new file mode 100644
> 7330398 index 0000000000000000000000000000000000000000..75c8afc558424ea185c62b5a1c61ad6c32cddc21
>
> I have munged the filenames.
>
> It looks to me like git can't apply patches over a certain size.
>
> Any suggestions on how to proceed here?
I aborted and then did a merge instead and it seemed to work out.
Still, seems like something git should detect BEFORE it tries to do the rebase.

cheers, Yves

-- 
perl -Mre=debug -e "/just|another|perl|hacker/"
Previous: demerphq
Message 2 of 2 in “Rebase triggers "git diff header lacks filename information" on very large patch with binary files”
  1. demerphqJan 14, 2014
  2. demerphqJan 14, 2014

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.