Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Java binary diff utility
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
README file for JBDiff (Java Binary Diff) Version: 0.1.1 Release date: 1 Oct 2007 JBDiff (Java Binary Diff) utility is a Java translation of the bsdiff (v4.2) utility by Colin Percival. See http://www.daemonology.net/bsdiff/ The file format is similar to, but currently not compatible with the bsdiff utility. This is because bsdiff uses bzip2 for compression which is not available in the standard Java libraries. Instead I use gzip (java.util.zip.*) The diff utility is very memory hungry. Attempting to diff very large files with insufficient RAM may cause your computer to 'trash' (ie become unusably slow and may require a reset to recover). Comparing two 20MB files will take approx 80 seconds on a 2GHz Pentium 4 and will require a maximum heap size of at least 220 MBytes. The maximum heap size can be specified using the -Xmx switch to the Java VM (see examples below). The patch utility has more modest resource requirements. EXAMPLES: To compare old.bin with new.bin and produce diff file new-old.diff: java -Xmx200m -classpath jbdiff.jar ie.wombat.jbdiff.JBDiff old.bin new.bin new-old.diff To patch old.bin with new-old.diff to produce new.bin: java -Xmx200m -classpath jbdiff.jar ie.wombat.jbdiff.JBPatch old.bin new.bin new-old.diff TODO: This first release is a rather blind port of the bsdiff utility. A vast bulk of the code ported to Java without any modification. There is scope for optimization (the C bsdiff runs in approx 50% faster than JBDiff). Also it would be nice to be able to produce output that is compatible with bsdiff. I need a bzip2 library for that. Any suggestions, feedback and bugs will be much appreciated. Please email to firstname.lastname@example.org LICENSE: Now available under BSD license (previously GPL). CHANGES SINCE 0.1.0 RELEASE: Change of license from GPL v2 to BSD license. Joe Desbonnet email@example.com 1 Oct 2007