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
 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.
 
 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.
 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.
 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.