[Home]MoonShadow/HexEditor

ec2-3-89-204-127.compute-1.amazonaws.com | ToothyWiki | MoonShadow | RecentChanges | Login | Advent calendar | Webcomic


http://citeseer.ist.psu.edu/cache/papers/cs/31172/http:zSzzSzxmailserver.orgzSzdiff2.pdf/myers86ond.pdf
http://freshmeat.net/projects/xdiff-lib/
http://neil.fraser.name/writing/diff/ - I still have a long way to go to arrive at something useful. Good to have my suspicions about the Myers paper confirmed, though.




Source for a bytewise binary diff tool based on the Eugene Myers paper above is [here]. A Cygwin binary is [here], I don't imagine the binary will work if you don't have Cygwin installed but the source is portable. No particular guarantees made about reliability, usefulness, clarity of source etc etc. Shoving a GUI around it is left as an exercise for the Perl/Python?+GTK gurus.

Todo / known problems:



Offset address confusion:
-1,42,77
00000020:  .. .. .. .. .. .. .. ..   .. .. a9 .. .. .. .. ..   .......... .....

+1,43,77
00000040:  .. .. .. .. .. .. .. ..   .. .. .. .. .. a3 .. ..   ............. ..


For deletions, the deleted characters are displayed, so the dump is from file A. For insertions, the inserted characters are displayed, so the dump is from file B. Positions in both files are provided, so someone writing a smarter GUI can do something prettier. - MoonShadow
I see.  How about this one? --M-A
-1,1,1
00000000:  .. 15 .. .. .. .. .. ..   .. .. .. .. .. .. .. ..   . ..............

+1,2,1
00000000:  .. 38 .. .. .. .. .. ..   .. .. .. .. .. .. .. ..   .8..............

The byte with the hex code 15, which is at offset 1 in file A, was deleted. The byte with the hex code 38, which is at offset 1 in file B, is inserted at file A's offset 2. Looks right to me. Well, assuming that's what actually happened. The offset given for each edit does not take other edits into account - this makes it easier to look up context for edits in an external hex editor and is trivial for a GUI wrapper to do if it wants to. Though I should probably make it an option. - MoonShadow

ec2-3-89-204-127.compute-1.amazonaws.com | ToothyWiki | MoonShadow | RecentChanges | Login | Advent calendar | Webcomic
Edit this page | View other revisions | Recently used referrers
Last edited April 16, 2008 4:57 pm (viewing revision 22, which is the newest) (diff)
Search: