This is where I got creative of course, because it can anywhere from a few secs to several minutes to create a zip between revisions. The setup is, the opencart module is the "client" that makes a call to my linux server. On the linux server I created a RESTful php server script to handle the request and fire off a bash script that runs the svn commands on the server. While it runs, the REST server returns a message that the file is being created and to try again in a few minutes when it is ready. If you try to submit the request again, I have a lock file in place that tells it to keep waiting. It's pretty damn sweet (modest much?

A lot of fun stuff went into the bash script (my first time) and it works pretty well. Once the file is ready, you have the option of choosing the get a list of all the files that changed (which generates the list from the zip file on the server). Or you can do the real update.
I've added lots of special codes and tweaks to make it very seamless. I remove all config.php files, I check if the upgrade.sql file has changed and include all the installer files. It even redirects to the upgrade step after extracting the new files on your store if the upgrade files exist as part of that revision update.
Here is a Video Demo of me upgrading my 1.5.1.3 store which is revision 647 to the latest 1.5.2 branch version which is v1.5.2.2 (latest SVN)
http://screencast.com/t/vNb8Nth3
Now as cool as this is... It is probably overkill. Whether or not going to this extreme of building on the fly is worthwhile, as part of a separate manual update method, I still plan on making nightly patches for the latest release version that should be considered stable. And maybe just link with that nightly list from the admin and grab the zip of all files from the release to the latest revision... even if you are already at the second to last revision. It's not as efficient, but simpler.
Still this was a fun project to make and may still see the light of day.