All of lore.kernel.org
 help / color / mirror / Atom feed
* Rebase triggers "git diff header lacks filename information" on very large patch with binary files
@ 2014-01-14 11:48 demerphq
  2014-01-14 12:15 ` demerphq
  0 siblings, 1 reply; 2+ messages in thread
From: demerphq @ 2014-01-14 11:48 UTC (permalink / raw)
  To: Git; +Cc: Ævar Arnfjörð Bjarmason

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?

cheers,
Yves




-- 
perl -Mre=debug -e "/just|another|perl|hacker/"

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Rebase triggers "git diff header lacks filename information" on very large patch with binary files
  2014-01-14 11:48 Rebase triggers "git diff header lacks filename information" on very large patch with binary files demerphq
@ 2014-01-14 12:15 ` demerphq
  0 siblings, 0 replies; 2+ messages in thread
From: demerphq @ 2014-01-14 12:15 UTC (permalink / raw)
  To: Git; +Cc: Ævar Arnfjörð Bjarmason

On 14 January 2014 12:48, demerphq <demerphq@gmail.com> wrote:
> 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/"

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-01-14 12:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-14 11:48 Rebase triggers "git diff header lacks filename information" on very large patch with binary files demerphq
2014-01-14 12:15 ` demerphq

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.