{"thread":{"id":"35652","subject":"Rebase triggers \"git diff header lacks filename information\" on very large patch with binary files","startedAt":"2014-01-14T11:48:39Z","lastAt":"2014-01-14T12:15:25Z","messageCount":2,"participants":["demerphq"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"233087","messageId":"CANgJU+V93Vu--hqikX0+dfZf4MnbcmVeE3OFW5J1THNkYiCL6w@mail.gmail.com","threadId":"35652","inReplyTo":null,"subject":"Rebase triggers \"git diff header lacks filename information\" on very large patch with binary files","fromName":"demerphq","fromEmail":"demerphq@gmail.com","sentAt":"2014-01-14T11:48:39Z","receivedAt":"2014-01-14T11:48:39Z","isPatch":false,"sender":{"key":"demerphq@gmail.com","avatar":null},"body":"Hi,\n\nI just did a rebase, and it throws an error like this:\n\nApplying: comment1\nApplying: comment2\nApplying: comment3\nApplying: comment4\nApplying: patch_with_binary_files\nfatal: git diff header lacks filename information when removing 1\nleading pathname component (line 7330213)\nRepository lacks necessary blobs to fall back on 3-way merge.\nCannot fall back to three-way merge.\nPatch failed at 0005 patch_with_binary_files\nThe copy of the patch that failed is found in:\n   /usr/local/git_tree/affiliate_data/.git/rebase-apply/patch\n\nWhen you have resolved this problem, run \"git rebase --continue\".\nIf you prefer to skip this patch, run \"git rebase --skip\" instead.\nTo check out the original branch and stop rebasing, run \"git rebase --abort\".\n\nThe patch is very large, 882453899 bytes.\n\nThe patch also includes many binary files.\n\nExtracting the content around and before line 7330213 and up to the\nnext diff header in the patch I see this:\n\nperl -lne'print \"$.\\t$_\" if 7330169 .. 7330213' .git/rebase-apply/patch\n7330169 diff --git a/dir1/dir2/file.png b/dir1/dir2/file.png\n7330170 new file mode 100644\n7330171 index 0000000000000000000000000000000000000000..8a3219cb6545f23e3f7c61f058d82fc2c1bd9aac\n7330172 GIT binary patch\n7330173 literal 11301\n7330174 zcmXYX1ymeO)Ai!+PH-nk@Zb{MHE3{$;O=gVh2Rd06MPp4?hxD|K!5<jEd=*(p7;Ov\n[more lines of binary removed]\n7330213 zznckDs-GVJg-A0uD|ONvCQWVX;j!JNnkQI9^=+zJ^SvLe1p-~c&7bmY5wu4C=(8F0\n[more lines of binary removed]\n7330393 literal 0\n7330394 HcmV?d00001\n7330395\n7330396 diff --git a/dir1/dir2/file.css b/dir1/dir2/file.css\n7330397 new file mode 100644\n7330398 index 0000000000000000000000000000000000000000..75c8afc558424ea185c62b5a1c61ad6c32cddc21\n\nI have munged the filenames.\n\nIt looks to me like git can't apply patches over a certain size.\n\nAny suggestions on how to proceed here?\n\ncheers,\nYves\n\n\n\n\n-- \nperl -Mre=debug -e \"/just|another|perl|hacker/\"\n"},{"id":"233088","messageId":"CANgJU+UJaj3z0E2LvFXrnOGyuBBBits=9hUQoaHe5cCbXVPyjg@mail.gmail.com","threadId":"35652","inReplyTo":"CANgJU+V93Vu--hqikX0+dfZf4MnbcmVeE3OFW5J1THNkYiCL6w@mail.gmail.com","subject":"Re: Rebase triggers \"git diff header lacks filename information\" on very large patch with binary files","fromName":"demerphq","fromEmail":"demerphq@gmail.com","sentAt":"2014-01-14T12:15:25Z","receivedAt":"2014-01-14T12:15:25Z","isPatch":false,"sender":{"key":"demerphq@gmail.com","avatar":null},"body":"On 14 January 2014 12:48, demerphq <demerphq@gmail.com> wrote:\n> Hi,\n>\n> I just did a rebase, and it throws an error like this:\n>\n> Applying: comment1\n> Applying: comment2\n> Applying: comment3\n> Applying: comment4\n> Applying: patch_with_binary_files\n> fatal: git diff header lacks filename information when removing 1\n> leading pathname component (line 7330213)\n> Repository lacks necessary blobs to fall back on 3-way merge.\n> Cannot fall back to three-way merge.\n> Patch failed at 0005 patch_with_binary_files\n> The copy of the patch that failed is found in:\n>    /usr/local/git_tree/affiliate_data/.git/rebase-apply/patch\n>\n> When you have resolved this problem, run \"git rebase --continue\".\n> If you prefer to skip this patch, run \"git rebase --skip\" instead.\n> To check out the original branch and stop rebasing, run \"git rebase --abort\".\n>\n> The patch is very large, 882453899 bytes.\n>\n> The patch also includes many binary files.\n>\n> Extracting the content around and before line 7330213 and up to the\n> next diff header in the patch I see this:\n>\n> perl -lne'print \"$.\\t$_\" if 7330169 .. 7330213' .git/rebase-apply/patch\n> 7330169 diff --git a/dir1/dir2/file.png b/dir1/dir2/file.png\n> 7330170 new file mode 100644\n> 7330171 index 0000000000000000000000000000000000000000..8a3219cb6545f23e3f7c61f058d82fc2c1bd9aac\n> 7330172 GIT binary patch\n> 7330173 literal 11301\n> 7330174 zcmXYX1ymeO)Ai!+PH-nk@Zb{MHE3{$;O=gVh2Rd06MPp4?hxD|K!5<jEd=*(p7;Ov\n> [more lines of binary removed]\n> 7330213 zznckDs-GVJg-A0uD|ONvCQWVX;j!JNnkQI9^=+zJ^SvLe1p-~c&7bmY5wu4C=(8F0\n> [more lines of binary removed]\n> 7330393 literal 0\n> 7330394 HcmV?d00001\n> 7330395\n> 7330396 diff --git a/dir1/dir2/file.css b/dir1/dir2/file.css\n> 7330397 new file mode 100644\n> 7330398 index 0000000000000000000000000000000000000000..75c8afc558424ea185c62b5a1c61ad6c32cddc21\n>\n> I have munged the filenames.\n>\n> It looks to me like git can't apply patches over a certain size.\n>\n> Any suggestions on how to proceed here?\n\nI aborted and then did a merge instead and it seemed to work out.\n\nStill, seems like something git should detect BEFORE it tries to do the rebase.\n\ncheers,\nYves\n\n\n\n-- \nperl -Mre=debug -e \"/just|another|perl|hacker/\"\n"}]}