Fossil SCM
3-way merge drops line
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]