easyPatch

1. Intro
2. Make it work!
3. LiveUpdater
4. Help me, bugs, License, history...


1. Intro
easyPatch is a quick & simple patch maker for applications and projects. Obviously, it is not as powerful as VISE or Aladdin products, but it's a great tool for most of applications. It's main features & contra-features are the following:

You can compare two application bundles and easyPatch will find any different documents in the newest project.
easyPatch will work only in data-fork files (eg, those contained in any cocoa application).
After comparison, easyPatch can build a "standalone updater", an application able to update the "oldest project" to match the new one. Its size will be 80Kb (20Kb compressed) for the executable, plus any file needed for the update process). This means that generated updaters are as ligth as possible, cool for internet transmissions.
Maybe you prefer distribute a 300Kb updater instead of the entire app (eg, 3MB) when there are changes in a few files, or give your user such possibility.
Specially thought for applescript-studio applications, you can choose "AS-Studio webupdate" as the output format. This will generate a "tgz" file named "year+month+day", containing any modified files based in your new project.
Then, you should place this file in your server and your application (in your users' computer) can auto-update itself withouth the need to go-to-website, download-new-files, uncompress-new-files, install-new-files. Also called "live update".
See instructions below for further info.
You can't compare a single file, but a package app. And you can compare two folders, which means that you can update not only the app itself, but also any of your project's files, including documentation, samples or whatever.

2. Make it work!
Open easyPatch and you will find a very simple window:



Drop both "Oldest project" and "Newest project" onto its correct location, choose your output format and click "Go!".
To make it work, you only need OS X and some stuff to build your first patch!
All the process should be logged to the little black console.

3. LiveUpdater
The "AS-Studio webupdate" option will generate a file called "year+month+day.tgz", containing all files necessary for the patch.
If you included live-update capabilities to your app (AS-Studio based or not), you must upload this file to your web server patches folder, and update the file called "patches.txt", which lists all available updates for your app.
The next time that your user checks for updates, its copy of LiveUpdater (bundled within your app) will do the job.

More info, samples, source code and documentation about LiveUpdater, see the folder "LiveUpdater" included with this copy of easyPatch.

4. Help me, bugs, license, history...
If you are interested in this project, I'd like some sample projects implementing LiveUpdater's "technology". Any project is welcome, specially those whose language programmings are not shown here (eg, RealBASIC or Cocoa); all these projects should be a helper and sample code for any developer interested in incorporate LiveUpdater into his own application.

If you are going to report a bug, please, include any text in your console and a detailed description of your operative system and any condition you think relevant.

easyPatch is freeware. Use it at your own risk. Please, test carefully your updaters before distribute them. Duplicate, if needed, your projects before doing anything.

easyPatch v. 1.0b1, August 1, 2003
-First beta release.