Fossil SCM

3-way merge drops line

Fixed

98b63bd31671500… · opened 17 years, 1 month ago

Type
Code_Defect
Priority
Severity
Severe
Resolution
Fixed
Subsystem
Created
Feb. 16, 2009 11:01 a.m.

I noticed that during a merge a line from the branch I was merging from was missing between the conflict markers. A bit of analysis gave me the test case generated by a shell script at the end of this ticket.

Note than the line containing 'f' in v1 is completely missing in the merge result. Also, the line containing 'a' should either appear once outside or twice inside the conflict markers.


#!/bin/sh
for l in 1 2 3 4 5 6 7 8 9; do echo $l; done > base
for l in 1 2 3 4 5 a b c d e f 6 7 8 9; do echo $l; done > v1
for l in 1 2 3 4 5 a b c x y z 6 7 8 9; do echo $l; done > v2
fossil test-3-way-merge base v1 v2 result


anonymous claiming to be [email protected] added on 2009-03-20 23:01:13:
It seems like commit [e45d478f0c] took care of this bug too, the test case I posted is now handled correctly.

I'll do some more testing but it looks good.


drh added on 2009-03-20 23:26:11:
There are yet more bugs in the 3-way merge. I'm still working on it.


drh added on 2009-03-21 16:25:37:
Fixed in check-in [83566f24241a01bedbf89d8ca068c7c1b926b4f0]

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button