Hi there,
I was merging two branches with Bazaar which required some three-way merges. The resulting four files are in the attached zip file. When you open them in Kdiff3, you will see an unresolved merge conflict. The candidate from A (zkcontrol.h.BASE) and C (zkcontrol.h.OTHER) is correct, but the candidate from B (zkcontrol.h.THIS) is not - for some reason KDiff3 thinks the new comment on line 10 is a merge candidate instead of the define in line 11.
So is this an issue with the pattern matching code of Kdiff3 or is this a problem of Bazaar's merge tags?
Tested with Kdiff3 0.9.95 and 0.9.97.
KDiff3 aligns lines that are the same or that differ only in whitespace. From line 9 upto the comment block at the end, every line in B is different than the ones in A and C.
You may say see that line 10 in A and 11 in B are more alike, but that is not something that kdiff3 attempts to detect. I have the feeling that would get costly performance wise rather quickly.
You can consider using manual diff alignments in a case like this.