+[[!meta date="2008-05-06 19:22:09 -0400"]]
+
[[rcs/git]] and other distributed version control systems are all about
making it easy to create and maintain copies and branches of a project. And
this can be used for all sorts of interesting stuff. Since ikiwiki can use
1. [[a simple HTML mirror|tips/Git_repository_and_web_server_on_different_hosts/]]
2. [[separate ikiwiki and git servers|tips/Hosting_Ikiwiki_and_master_git_repository_on_different_machines]]
3. separate `srcdir`, still requires a central bare repo - uses [[plugins/pinger]]
- 4. completely distinct ikiwiki installs, synchronised with [[plugins/contrib/gitpush]]
+ 4. completely distinct ikiwiki installs
Here's a graphic overview of those:
hosts the HTML files, the ikiwiki [[cgi]] but everything else is on
the git server.
-### Separate ikiwiki web server, and git server
+### Separate webserver and git repository, the git srcdir being hosted on the webserver
[[!img Hosting_Ikiwiki_and_master_git_repository_on_different_machines/separate-web-git-servers.svg size=400x]]
-[[http://spalax.fr.eu.org/separate-web-git-servers.svg]] *Could someone with admin rights upload [[this image|http://spalax.fr.eu.org/separate-web-git-servers.svg]] to [[IkiWiki|Hosting_Ikiwiki_and_master_git_repository_on_different_machines/separate-web-git-servers.svg]]? I am not allowed to do so. [[Louis|spalax]]*
This is the configuration described in
[[tips/Hosting_Ikiwiki_and_master_git_repository_on_different_machines]]. One server hosts the web server (and the [[Ikiwiki cgi|cgi]]) and the git source dir; a second server hosts the git bare repository. This can be used when you have very limited access to the git server.
-> I don't understand how this configuration is different from the previous one, could you clarify? the image link is broken as well. [[anarcat]]
->> Sorry. I did a mistake. I hope this is more clear now. [[Louis|spalax]]
-
### Decentralised pinger setup
[[!img ping-setup.svg size=400x]]
[[!img decentralized_wikis.svg size=400x]]
In this configuration, each wiki is fully independent and pushes its
-changes to other wikis using the [[plugins/contrib/gitpush]] plugin.
+changes to other wikis using git.
## Step by step setup instructions
git_wrapper: /home/user/source.git/hooks/post-commit
git_test_receive_wrapper: /home/user/source.git/hooks/pre-receive
-To do this, the mirror needs to push back to the master, using the [[plugins/contrib/gitpush]] plugin:
+To make the mirror push back to the master, use, for example:
- git_push_to:
- - git://wiki.example.com/
+ git_wrapper_background_command: git push git://wiki.example.com/
-This will ensure that commits done on the mirror will propagate back to the master.
+This will help ensure that commits done on the mirror will propagate back to the master.
## Other ideas