Hi,

On Tue, Oct 19, 2010 at 11:48 PM, Jonathan Nieder <[email protected]> wrote:
> Liraz Siri wrote:
>
>> I've been investigating a merge bug in an unusually large Git repository
>> with over ten thousand commits.
>>
>> In older versions of the git-core package (the one in stable),
>> attempting to merge would raise a segmentation fault. In the latest
>> version from sid a slightly more useful error message is produced:
>>
>>     BUG: There are unmerged index entries:
>>     BUG: 2 [ ... snip file paths ...] Bug in merge-recursive.c
>>
>> The bug seems so have been fixed in the latest version of Git from
>> upstream (1.7.3.1) so I'm guessing once you update to that or a higher
>> version everything will be fine.
>
> Thanks!  I'm cc-ing Elijah Newren, who's been doing work recently in
> this area (unhandled index entries that appear during directory/file
> conflicts).
>
> Elijah, is it safe to pull in the en/d-f-conflict-fix branch on top of
> v1.7.2.3, or are more fixes (e.g. from en/merge-recursive) needed in
> addition?  (For the record, the relevant changes are:
>
>  8 files changed, 284 insertions(+), 24 deletions(-)
>
> ).
>
> I fear that it is unlikely this work can be included in Debian
> squeeze, but it might be worth proposing it anyway.

If git-1.7.3.1 fixes it, then nothing from en/merge-recursive is
needed and en/d-f-conflict-fix on top of 1.7.2.3 should be sufficient
(and, in fact, only the changes to merge-recursive.c from that series
is needed).

I'm relatively sure that series should apply cleanly to 1.7.2.3
(though I haven't tried it locally and run the relevant tests included
with it to verify), but it will introduce a small bug in fast-export
on platforms with a non-stable qsort.  I doubt that affects Debian,
but you may want to also merge 4ce6fb80580 from Johannes Sixt if you
merge all of en/d-f-conflict-fix.


Oh, and a side note: The merge recursive work is actually far beyond
D/F conflicts now (though I haven't yet sent an updated series to the
git list).  I've found errors that do not involve D/F conflicts that
hit a wide range of areas now: deleting untracked files, criss-cross
merges that have undetected or spurious conflicts, rename/rename (2 to
1) conflict detection code is never triggered and turns out to be very
buggy, working tree contents after merge conflicts aren't as expected
in some cases, not breaking complete rewrites into pairs of deletes
and creates can cause spurious or undetected conflicts,
rename/rename/add conflicts (not currently checked for in the code
base and not correctly handled), and various cross-interactions
between all these different issues.



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to