[merge] More tweaks to PatienceDiff

John Arbash Meinel john at arbash-meinel.com
Mon May 29 02:46:50 BST 2006


Just a few cases where it was recursing only to back out right away, or
extracting the last entry in a list, when the parent already knew the
answer.

Also, since I now have a better feeling for PatienceDiff, I realize that
we don't need to do Difflib matching inbetween. If you might recall,
patience diff doesn't match common lines surrounded by unmatching text.
However, it turns out that it isn't as big of a deal as we though.
Because the lines only have to be repeated inside the unmatched portion.
patience diff does a unique matching over the whole text, and then it
does a unique matching inside each unmatched section. Which means that
while this won't get matched "aBccDe" vs "abccde", this will get
matched: "aBcdEfGcdHi" versus "abcdefgcdhi". The 'cd' sections are not
common lines when viewed from the whole text, but they are unique lines
when viewed as the chunks between unique lines. (the 'f' acts as a
breaking point, and 'aBcdEf' => 'abcdef' match without any problem).

Attached is a diff relative to what has already been approved. Though
not submitted, since the pqm won't accept changing the name of the
SequenceMatcher.

All changes are present on my jam-integration branch.

John
=:->
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: patience-diff-tweaks.diff
Url: https://lists.ubuntu.com/archives/bazaar/attachments/20060528/883933b0/attachment.diff 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 254 bytes
Desc: OpenPGP digital signature
Url : https://lists.ubuntu.com/archives/bazaar/attachments/20060528/883933b0/attachment.pgp 


More information about the bazaar mailing list