You can get the latest development cutting-edge pre-release version of PmWiki. Note that a development version may not be as stable and as bug-free as official releases.
Download pre-release zip archive
You can download the latest development code packed as a zip archive here:
pmwiki-latest-svn.zip. Note that the pmwiki.org site also usually runs with the latest code from Subversion, so it can be tested.
Obtaining PmWiki via Subversion (svn)
Another way to obtain copies of PmWiki is via
subversion.
First, you need a
subversion client
of some sort to be able to access the repository.
We'll assume a command-line "svn" client here.
The latest release of PmWiki is available from svn://pmwiki.org/pmwiki/tags/latest.
To use subversion to obtain a copy of the latest release, use a command like:
svn export svn://pmwiki.org/pmwiki/tags/latest pmwiki --force
This will obtain the latest release and place it into a "pmwiki"
directory in your current directory. When a new release comes
out and you wish to update to the latest release, simply repeat
the command above. This will update your installation of pmwiki
with the latest release.
If you want the absolutely latest version that has been checked
into the repository (which may contain unreleased features),
you can use "svn export svn://pmwiki.org/pmwiki/trunk pmwiki --force"
instead.
Specific versions of PmWiki are also available in the tags/ directory.
So, if you update to the latest version and find that you need
to revert to a previous version, you can do
svn export svn://pmwiki.org/pmwiki/tags/pmwiki-2.1.26 pmwiki --force
to make your current copy be updated to be the same as the 2.1.26
release. To get back to the latest release, just use the .../tags/latest
version mentioned above.
If you are not sure what releases are available in the tags/ directory
you can list them using the "svn ls" command as follows:
svn ls svn://pmwiki.org/pmwiki/tags/
Export vs Checkout
Alternatively you can use svn checkout instead of svn export. Some advantages to this include:
- incremental updates — you only download what's changed since last revision;
- merging of changes — if you have modified one of the core files (although you shouldn't) svn will try to merge your changes with the latest version;
- easy patch creation — if you find a bug and fix it you can use
svn diff filename.ext
to generate a patch file that can be submitted for next release.
The downside to using checkout is the wiki takes up twice the amount of disk space and you have hidden ".svn" subfolders which you will need to make sure your webserver doesn't serve to users. The Apache web server will typically have a rule that blocks access to any file or directory beginning with a dot, so it shouldn't be an issue for most people.
Automating it
If you want a fully-automated and hassle-free upgrade/backup process, you could add the following shell script to your crontab:
echo Making backup of PmWiki...
cp -r pmwiki pmwiki.bak; # Make backup, overwriting old one.
echo Downloading latest version...
svn export svn://pmwiki.org/pmwiki/tags/latest pmwiki --force
(Save it as pmwiki-upgrade.sh
or whatever.)
The backup creation step could be elaborated upon somewhat, to give incremental backups for example, or at least a timestamp.