Using ikiwiki with the git backend, some interesting things can be done with creating mirrors (or, really, branches) of a wiki. In this tip, I'll assume your wiki is located on a server, and you want to take a copy with you on your laptop.

With the configuration described here, you can commit local changes to the version on the laptop, perhaps while offline. You can browse and edit the wiki using a local web server. When you're ready, you can manually push the changes to the main wiki on the server.

First, set up the wiki on the server, if it isn't already. Nothing special needs to be done here, just follow the regular instructions in setup for setting up ikiwiki with git.

Next, git clone the source ($REPOSITORY, not $SRCDIR) from the server to the laptop.

Now, set up a web server on your laptop, if it doesn't already have one.

Now you need to write a setup file for ikiwiki on the laptop. Mostly this is standard, but a few special settings are needed:

Now just run ikiwiki -setup wiki.setup -getctime and you should be good to go. (You only need the slow -getctime option the first time you run setup.)

Use standard git commands to handle pulling from and pushing to the server.

Note that if changes are pulled from the server, you will need to manually update the wiki, with a command such as ikiwiki -setup wiki.setup -refresh. If you'd like it to automatically update when changes are merged in, you can simply make a symlink post-merge hook pointing at the post-update hook ikiwiki created.