an alternative approach using a bare mirror
authorhttp://kerravonsen.dreamwidth.org/ <http://kerravonsen.dreamwidth.org/@web>
Tue, 1 Dec 2009 01:31:37 +0000 (20:31 -0500)
committerJoey Hess <joey@kitenet.net>
Tue, 1 Dec 2009 01:31:37 +0000 (20:31 -0500)
doc/tips/laptop_wiki_with_git.mdwn

index 9758beb80d4da3cad214a48307ea27bd1a24d827..e85f7d12ba1b07a97e8da4692d1609fabb382d05 100644 (file)
@@ -1,3 +1,5 @@
+[[!toc]]
+
 Using ikiwiki with the [[rcs/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
@@ -8,6 +10,8 @@ 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.
 
+## Original approach
+
 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.
@@ -49,3 +53,14 @@ 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.
+
+## Alternative Approach
+
+As above, set up a normal ikiwiki on the server, with the usual bare repository.
+
+Next, `git clone --mirror server:/path/to/bare/repository`
+
+This will be used as the $REPOSITORY on the laptop.  Then you can follow the instructions in [[setup by hand|/setup/byhand]] as per a normal ikiwiki installation.
+This means that you can clone from the local bare repository as many times as you want (thus being able to have a repository which is used by the ikiwiki CGI, and another which you can use for updating via git).
+
+When you want to update the server from the laptop, do a `git push` from within the laptop's bare repository, and likewise do a `git pull` to update the laptop from the server.