]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/rcs/git.mdwn
add diagram of git repos
[ikiwiki.git] / doc / rcs / git.mdwn
index 1b66493dddad9fe24a798909bd3931aa801c5e51..3459b4575c6bedfca88759e9aeb92db65acbb6e6 100644 (file)
@@ -5,6 +5,8 @@ the Linux kernel. Ikiwiki supports storing a wiki in git.
 
 [git]: http://git.or.cz/
 
+[[!img wiki_edit_flow.svg size=490x float=right]]
+
 Ikiwiki can run as a `post-update` hook to update a wiki whenever commits
 come in. When running as a [[cgi]] with Git, ikiwiki automatically
 commits edited pages, and uses the Git history to generate the
@@ -39,10 +41,10 @@ repositories:
   git does not support pushing to a repository that has a working
   directory. This is called _repository_ in [[ikiwiki-makerepo]]'s
   manual page. This bare repository has a `post-update` hook
-  that either is or calls ikiwiki's git wrapper, which changes to the
+  that either is or calls ikiwiki's `git_wrapper`, which changes to the
   working directory for ikiwiki, does a `git pull`, and refreshes ikiwiki
   to regenerate the wiki with any new content. The [[setup]] page describes
-  how to do this.
+  how to do this, but note, if you are importing from an existing git repository, that ikiwiki will not create the `git_wrapper` unless its path is explicitely set in your `.setup` file.
 
 * The second repository is a clone of the bare root repository, and
   has a working tree which is used as ikiwiki's srcdir for compiling
@@ -117,7 +119,8 @@ usernames of the untrusted committers.
 
 Note that when the `pre-receive` hook is checking incoming changes, it
 ignores the git authorship information, and uses the username of the unix
-user who made the commit. Then tests including the `locked_pages` [[PageSpec]]
+user who made the commit. Then tests including the `locked_pages`
+[[ikiwiki/PageSpec]]
 are checked to see if that user can edit the pages in the commit.
 
 You can even set up an [[anonymous_user|tips/untrusted_git_push]], to allow