X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/e0969bed6501f5ba93a65f6fbec8819b16225a9c..844e3a549a1b9b96b4424af90dacd82ec18a8fa4:/doc/setup.mdwn diff --git a/doc/setup.mdwn b/doc/setup.mdwn index abd6ac7ad..f5dd8832e 100644 --- a/doc/setup.mdwn +++ b/doc/setup.mdwn @@ -119,16 +119,37 @@ This tutorial will walk you through setting up a wiki with ikiwiki. [[toggle id=git text="Git"]] [[toggleable id=git text=""" - REPOSITORY=~/wikirepo - mkdir $REPOSITORY - cd $REPOSITORY - git init-db - cp -a $SRCDIR/* . - git add . - git commit -m "initial import" -a - mv $SRCDIR/.ikiwiki . - rm -rf $SRCDIR - git clone -l -s $REPOSITORY $SRCDIR + When using Git, you probably want to set up two repositories, of which + one should be bare (meaning that it does not have a working tree + checked out). We call the bare repository the "repository" and the + other will be the "srcdir" (which `ikiwiki` uses to compile the wiki). + There are [other + ways](http://blog.madduck.net/vcs/2007.07.11_publishing-git-repositories) + to do the following, but this might be easiest: + + REPOSITORY=~/wiki.git + GIT_DIR=$REPOSITORY git --bare init --shared + cd $SRCDIR + git init + echo /.ikiwiki > .gitignore + git add . + git commit -m "initial commit" + git remote add origin $REPOSITORY + git config branch.master.merge refs/heads/master + git push --all + + It is **paramount** that you **never** push to the Git repository in + `$SRCDIR` ([this FAQ entry explains + why](http://git.or.cz/gitwiki/GitFaq#head-b6a3d85f677763313159eb39f7dbf4579d4ee28b)). + Instead, if you want to work on the wiki from a remote machine, clone + `$REPOSITORY`, using either the `git` transport (if available), or + `ssh`. + + If at any point you commit changes in `$SRCDIR`, make sure to `git + push` them to the `$REPOSITORY`. ikiwiki will do this automatically + for any changes made via the web. + + Finally, see [[Git_pitfalls]] if you experience problems. """]] [[toggle id=tla text="TLA"]] @@ -154,6 +175,32 @@ This tutorial will walk you through setting up a wiki with ikiwiki. hg commit -m "initial import" """]] + [[toggle id=monotone text="Monotone"]] + [[toggleable id=monotone text=""" + # These instructions are standard instructions to import a directory into monotone + # and set it up so that you don't need any passwords to use it + REPOSITORY=~/.ikiwiki/mtn.db + BRANCH=com.company.wikiname + # remember the password you use in the next step and + # substitute it for 'wikiKeyPass' in the get_passphrase() hook below + # note the you should never generate two monotone keys with the same name + mtn genkey web@machine.company.com + mtn db init --db=$REPOSITORY + mv $SRCDIR $SRCDIR-old + cd $SRCDIR-old + echo ".ikiwiki" > $SRCDIR-old/.mtn-ignore + mtn --db=$REPOSITORY --branch=$BRANCH import . -m "initial import" + cd .. + mtn --db=$REPOSITORY --branch=$BRANCH checkout $SRCDIR + mv $SRCDIR-old/.ikiwiki $SRCDIR + cat << EOF > $SRCDIR/_MTN/monotonerc + function get_passphrase (branchname) + return "wikiKeyPass" + end + EOF + rm -r $SRCDIR-old + """]] + 9. Configure ikiwiki to use revision control. Once your wiki is checked in to the revision control system, @@ -162,8 +209,8 @@ This tutorial will walk you through setting up a wiki with ikiwiki. you chose to use. Be sure to set `svnrepo` to $REPOSITORY, if using subversion. Uncomment the block for the wrapper for your revision control system, and configure the wrapper path in that block - appropriately. - + appropriately (for Git, it should be `$REPOSITORY/hooks/post-update`). + Once it's all set up, run `ikiwiki --setup ikiwiki.setup` once more. Now you should be able to edit files in $SRCDIR, and use your revision control system to commit them, and the wiki will automatically update.