Short: Patch system for software updates Author: ralf.gruner@t-online.de (Ralf Gruner) Uploader: ralf gruner t-online de (Ralf Gruner) Type: util/misc Version: 3.0 Architecture: m68k-amigaos; ppc-morphos; ppc-warpup; ppc-powerup Distribution: Freeware GCompare / GPatch - A high quality patch system for software updates ŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻŻ GCompare generates patch files for the distribution of file updates. GPatch applies the patches. The patch file can contain patches for any number of files. The file format is optimized for size - the patch files are very short. CRC error checking provides safe operations. The programs work with any type of files. The patch files are portable. GPatch and GCompare executables are available for some IX platforms and Windows. Changes since last upload: Added the PPC versions. GCompare: Small changes in the help text. Some changes in the guide and in the example scripts. Changes since previous version: GCompare: New algorithm for very high search speed (three-dimensional search arrays). Needs more than 128 MB of memory for one patch or more than 256 MB for additional patches. (Works of course still with fewer memory available.) Changed the CRC algorithm to get a comparable result with other programs. New algorithm for Amiga executables (reloc hunk encoding) for much better results. Many improvements of the coding algorithms. New file format. GPatch: Can now replace the old file and make an optional backup. ------------------------------------------------------------------- Why should you use GCompare? Here you have an example with different patch programs: Let's assume, you have a new file of your program AWeb-II. The world is using the old versions 3.2 and 3.3, and you want to provide an update to the new version 3.4. What you have to do is: Build the difference files: scompare -oAWeb32-34.spatch AWeb-II-3.2 AWeb-II-3.4 scompare -oAWeb33-34.spatch AWeb-II-3.3 AWeb-II-3.4 This needs 1:28 minutes, and you have two files: AWeb32-34.spatch 240960 ----rwed AWeb33-34.spatch 193328 ----rwed or you use gcompare AWeb-II-3.2 AWeb-II-3.3 AWeb.gpatch gcompare AWeb-II-3.3 AWeb-II-3.4 AWeb.gpatch This needs 0:59 minutes, and you have one file for both patches: AWeb.gpatch 220694 ----rwed ----- Now you have to create the distribution archive. You have to add the patcher and a script to build the new file. For the example we leave the script out. The relevant lines of the scripts would be: spatch -oAWeb-II-3.4 -pAWeb32-34.spatch AWeb-II (and for the other) spatch -oAWeb-II-3.4 -pAWeb33-34.spatch AWeb-II copy AWeb-II-3.4 AWeb3:AWeb-II or gpatch AWeb3:AWeb-II AWeb.gpatch RECURSIVE DIRECT (This line patches both versions of the program.) ----- So, let's build the archive: lha -a a awebupdateS AWeb32-34.spatch lha -a a awebupdateS AWeb33-34.spatch lha -a a awebupdateS spatch or lha -a a awebupdateG AWeb.gpatch lha -a a awebupdateG gpatch ----- The resulting file is: awebupdateS.lha 277258 ----rwed or awebupdateG.lha 163593 ----rwed