Transitioning to Subversion for updates

From PeopleAggregator

Jump to: navigation, search

See also the Upgrade guide and Transitioning to the auto-update system from Subversion.

Based on this blog post: http://www.myelin.co.nz/post/2006/7/25/#200607251

If you start out installing from a tarball, but then edit some files inside your PeopleAggregator install and find that you can't update now because of your changes, you'll want to transition to Subversion so you can update everything safely.

There are two ways to do this.

[edit] Here's the safest way

This method involves checking out another copy of your installed version from Subversion, then updating to the latest version from there. This will preserve any changes you have made.

First - find the current Subversion revision of your install. You can do this by browsing to /update/version.php (e.g. if your homepage is http://example.com/foo/web/homepage.php, browse to http://example.com/foo/web/update/version.php) and entering your administrator password, then finding the revision number under the "Built-in update system" heading.

Now run the commands below, replacing the number 3 with your revision and /var/www/pa with the root of your PeepAgg install.

cd /var/www/pa
svn checkout -r 3 http://update.peopleaggregator.org/svn/release/pa pa_svn_tmp
cd pa_svn_tmp
for f in `find . -name .svn -type d`; do mv $f ../$f; done
cd ..
rm -rf pa_svn_tmp
svn update
php web/update/run_scripts.php

[edit] And a second way

Here's a second way, that doesn't require you to know what your revision number is. However, this will completely overwrite your installation, so if you have made any changes to the code, the above method is better.

cd /var/www/pa
svn checkout http://update.peopleaggregator.org/svn/release/pa pa_svn_tmp
cd pa_svn_tmp
for f in `find . -name .svn -type d`; do mv $f ../$f; done
cd ..
rm -rf pa_svn_tmp
svn revert -R .
php web/update/run_scripts.php

Once you're done here, you can update in future like this:

svn update /var/www/pa

Or if you want to go back to using the built-in upgrade system, delete web/files/update.treediff.xml and browse to the update page (update/system_updates.php) and try to update as usual. With any luck, it'll tell you that all the files are already up to date, and work fine from then on. (Let me know if it doesn't!)

Personal tools