Hi,
WinMerge uses a modified GNU/diffutils as diff-engine. I cannot say
much about algorithm itself, but going to www.gnu.org documentation
and using google you find more information.
Diffutils documentation:
http://www.gnu.org/manual/diffutils-2.8.1/diff.html
WinMerge does not use that patch-file diffutils normally produces but
a list diffutils's internal "diffranges" containing linenumbers of
changed lines. Based on those linenumbers WinMerge marks changes
between files on screen.
Using diffutils is reason WinMerge cannot compare binary files or
show exact differences on lines. Latter may sound simple comparing
char by char but that wouldn't handle removed/added words etc
properly.
Regards,
Kimmo
|