Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


Our availability requirements are pretty loose. If our Virtual Private Server goes off-line, I need to be able to replace it within a few days.

That's no problem because the data and logs are disposable. The Python code is safely in Mercurial, effectively backed up in several locations. We've dutifully recorded all of the steps required to rebuild the server to the same configuration in a MediaWiki that is stored on... oh dear... the Virtual Private Server.

I need a way to back up the instructions in the MediaWiki in a way that I can read them when the server is down.


It'd be nice to have all changes to the MediaWiki automatically submitted to our Mercurial source-code repository, so it too would be automatically replicated to all the developer's machines. Presumably we could then fire up a local version of MediaWiki to read the contents. (Writing might cause conflicts, but we could live without that.)

I haven't been able to find such a solution done before. Is my Google Fu failing me, or is there a good reason why this is a bad approach?

share|improve this question
up vote 3 down vote accepted

People have used mercurial and other DVCSs as the backend for wikis (see ikiwiki for an example), but generally they're not a great fit because you create a new changeset across all pages/files for each edit of any page/file.

However, it sounds like you're just looking to use mercurial as a backup for your mediawiki instance, which is sort of a mismatch. The wiki already saves previous revisions, and exporting to a DVCS would do the same thing in a different way. You're better off just backing your wiki daily using the export/archive features it provides and pushing it to cheap storage.

share|improve this answer

I don't know about mercurial, but there's an incremental Git export here:

(Importing to Git and then converting to Mercurial is an option, but it's a bit overkill ...)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.