reorg all the git cruft a bit, highlight setup page and de-highlight more
[ikiwiki.git] / doc / rcs / git / discussion.mdwn
index 72954b564cfc4fb0f51578bcde3f3a47b807d368..f9d07891ee56be439ebe640665c088587976f4f3 100644 (file)
@@ -1,5 +1,80 @@
+## ikiwiki + git
+
+<http://fob.po8.org/node/346>
+
+Here's an early page documenting setting up ikiwiki with git. It shouldn't be
+this hard anymore. :-) See [[setup]] --[[Joey]]
+
 ## 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.
\ No newline at end of file
+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][ulrikweb])
+
+[ulrikweb]: http://www.student.lu.se/~cif04usv/wiki/stuff/git.html
+
+> Note that while the post-commit hook above may work in some situations, it *will* fail (or at least be suboptimal) for web commits. If you're setting up ikiwiki and git for a wiki that allows web commits, you should use
+> the repository and hook setups in documented in [[setup]] instead. With that method, you do end up with two separate git repos; but it's fine to only back one of them up. :-) --[[Joey]]
+
+## gitmanual
+
+Main use case I am trying to accomplish: Edit wiki pages offline.
+
+1. Imagine you're the administrator of the site and you want to checkout the wiki sources to give them some love while on a train journey.
+2. Or you are writing a complex document and you want to simply use your favourite $EDITOR
+3. Learn a little more about [git](http://git.or.cz/)
+
+# Workflow
+
+## on webconverger.org aka si.dabase.com aka hendry machine
+
+Wiki page created with [ikiwiki](http://ikiwiki.info). Example usb.mdwn [usb](http://webconverger.org/usb/)
+
+## on monty (my laptop)
+
+    git-clone ssh://si.dabase.com/home/hendry/wikiwc/.git/
+
+You might want to set some config variables like your email as this [tutorial](http://www.kernel.org/pub/software/scm/git/docs/tutorial.html) describes.
+
+    echo "blah" >> usb.mdwn
+
+Then to commit:
+
+    git-commit -a -m "added test"
+
+Send back:
+
+    git push origin
+
+## on webconverger.org aka si.dabase.com aka hendry machine
+
+You should setup the "The git post-update wrapper" in the **ikiwiki.setup** file.
+
+Then the wiki should be up-to-date! :)
+
+# Ack
+
+Thanks to gitte on #git on Freenode and of course joeyh. Have a look at [[rcs/details]].