web commit by http://madduck.myopenid.com/: rewrite the git setup instructions

master
joey 2007-09-29 21:15:53 +00:00
parent 4f0620e703
commit 5fca625a13
1 changed files with 46 additions and 10 deletions

View File

@ -119,16 +119,52 @@ This tutorial will walk you through setting up a wiki with ikiwiki.
[[toggle id=git text="Git"]] [[toggle id=git text="Git"]]
[[toggleable id=git text=""" [[toggleable id=git text="""
REPOSITORY=~/wikirepo For Git, you need two repositories, of which one should be bare
mkdir $REPOSITORY (meaning that it does not have a working tree checked out). We call
cd $REPOSITORY the bare repository the "repo" and the other the "srcdir" ($srcdir).
git init-db There are [other
cp -a $SRCDIR/* . ways](http://blog.madduck.net/vcs/2007.07.11_publishing-git-repositories)
git add . to do the following, but this might be easiest:
git commit -m "initial import" -a
mv $SRCDIR/.ikiwiki . REPOSITORY=./wiki.git
rm -rf $SRCDIR # SRCDIR is where ikiwiki compiles from. You thus need
git clone -l -s $REPOSITORY $SRCDIR # to set $srcdir in ikiwiki.setup appropriately. The
# -wc in the name suggests "working clone" because
# $SRCDIR holds a Git repository with a working tree.
SRCDIR=./wiki-wc
cd $SRCDIR
git init
echo "Initial index page" > index.mdwn
echo .ikiwiki > .gitignore
git add index.mdwn .gitignore
git commit -m'Initial commit'
git config receive.denyNonFastForwards true
git config core.bare true
mv .git $REPOSITORY
test -d .ikiwiki && mv .ikiwiki ..
cd ..
rm -r $SRCDIR
git clone -l -s $REPOSITORY $SRCDIR
test -d .ikiwiki && mv .ikiwiki $SRCDIR
It is **paramount** that you **never** push to the Git repository in
`$SRCDIR` ([this FAQ entry explains
why](http://git.or.cz/gitwiki/GitFaq#head-b6a3d85f677763313159eb39f7dbf4579d4ee28b)).
Instead, if you want to work on the wiki from a remote machine, clone
`$REPOSITORY`, using either the `git` transport (if available), or
`ssh`.
To automatically update the wiki when you push changes to
`$REPOSITORY`, `ikiwiki` can install a `post-update` hook. You need to
enable this hook in `ikiwiki.setup` and the path to use should be
`$REPOSITORY/hooks/post-update`.
Finally, then, setup `ikiwiki`:
ikiwiki --setup ikiwiki.setup
If you commit changes in `$SRCDIR`, make sure to `git push` them to
the `$REPOSITORY`.
"""]] """]]
[[toggle id=tla text="TLA"]] [[toggle id=tla text="TLA"]]