]> sipb.mit.edu Git - ikiwiki.git/blobdiff - doc/rcs/git.mdwn
add diagram of git repos
[ikiwiki.git] / doc / rcs / git.mdwn
index c627792d7bb858e67885b1fc3fac087efd09ca00..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
@@ -56,8 +58,8 @@ repositories:
   repositories are also clones of the bare root repository above --
   and these have a working directory for you to work on. Use either
   the `git` transport (if available), or `ssh`. These repositories may
-  be on remote machines, your laptop, whereever you find convenient to
-  hack on your wiki. you can commit local changes to the version on
+  be on remote machines, your laptop, wherever you find convenient to
+  hack on your wiki. You can commit local changes to the version on
   the laptop, perhaps while offline. Any new content should be pushed to the
   bare master repository when you are ready to publish it, and then
   the post-update hook of the bare repository will ensure that the
@@ -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