X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/bbebbe54d56d02e4018966638fda465a37168fa2..5b381e7fd157c0e381a87b386996485d6c7067c8:/doc/tips/distributed_wikis.mdwn?ds=inline diff --git a/doc/tips/distributed_wikis.mdwn b/doc/tips/distributed_wikis.mdwn index c0397d2db..229f27148 100644 --- a/doc/tips/distributed_wikis.mdwn +++ b/doc/tips/distributed_wikis.mdwn @@ -1,3 +1,5 @@ +[[!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 @@ -7,12 +9,13 @@ git, let's explore some possibilities for distributed wikis. ## Overview -There are three possible level of decentralisation: +There are several possible level of decentralisation: 0. [[default setup|rcs/git]], no decentralisation 1. [[a simple HTML mirror|tips/Git_repository_and_web_server_on_different_hosts/]] - 2. separate `srcdir`, still requires a central bare repo - uses [[plugins/pinger]] - 3. completely distinct ikiwiki installs, synchronised with [[plugins/contrib/gitpush]] + 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 Here's a graphic overview of those: @@ -34,6 +37,13 @@ This is the configuration described in hosts the HTML files, the ikiwiki [[cgi]] but everything else is on the 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]] + +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. + ### Decentralised pinger setup [[!img ping-setup.svg size=400x]] @@ -50,7 +60,7 @@ Step by step setup instructions for this are detailed below. [[!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 @@ -197,12 +207,11 @@ The following entries will be different from the above setup file: 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