summaryrefslogtreecommitdiff
path: root/doc/rcs/git/discussion.mdwn
blob: 57ec252d7548673aef15116670862aa57baf2286 (plain)

Migrating from svn to git

I'd like to migrate from svn to git, because git is better in general but also has some nice properties that go well together with my use of ikiwiki.. I only change it myself. I want a single git repo so that my website directory is self-contained so that I don't need to drag around a separate svn repository on my computer. Is it possible to use ikiwiki so that it only uses a git repository in the same dir as all files are stored and edited?

Otherwise, I hope migrating is just importing the svn repo to git and then setting up ikiwiki to use git. I don't plan to go back to svn after that so git-svn should only do the import.

Solution

Basis: I only use ikiwiki as a wiki compiler. No cgi or anything.

I imported my svn repo into git with git-svnimport. I reconfigured ikiwiki to not use any rcs. In ikiwiki.setup, I have the git repository as srcdir, and a suitable dstdir.

Then, in my git repository, I added this post-commit hook to refresh the wiki:

#!/bin/sh

# to refresh when changes happen

BASE="/path/to/base/dir"
SETUPFILE="$BASE/ikiwiki.setup"
UNDERLAYDIR="$BASE/underlay"

ikiwiki --refresh --setup "$SETUPFILE" --underlaydir="$UNDERLAYDIR" --verbose	

Positives:

  • Containment: I only have the above $BASE directory to backup: it contains the srcdir and setup files. No external svn repository. This means that suddenly git and ikiwiki pair into a stand-alone self-contained wiki compiler kit.

UlrikSverdrup (This is now crossposted to the above mentioned website)