Merge branch 'master'
authorJoey Hess <joey@gnu.kitenet.net>
Sat, 4 Apr 2009 21:27:48 +0000 (17:27 -0400)
committerJoey Hess <joey@gnu.kitenet.net>
Sat, 4 Apr 2009 21:27:48 +0000 (17:27 -0400)
Conflicts:
doc/ikiwiki-makerepo.mdwn

1  2 
doc/ikiwiki-makerepo.mdwn
ikiwiki-makerepo

index d5034b2c724da9780890985351d1b7fc5c59b6a4,9c532f201ab25e7fb36661220191c16b063c3a2e..3fbfbdc827c3f0208a0cd12e5241f6fc5744bd4f
@@@ -4,28 -4,22 +4,29 @@@ ikiwiki-makerepo - check an ikiwiki src
  
  # SYNOPSIS
  
 -ikiwiki-makerepo svn|git|monotone srcdir repository
 +ikiwiki-makerepo svn|git|monotone|darcs srcdir repository
  
- ikiwiki-makerepo mercurial|darcs srcdir
 -ikiwiki-makerepo bzr|mercurial srcdir
++ikiwiki-makerepo bzr|mercurial|darcs srcdir
  
  # DESCRIPTION
  
  `ikiwiki-makerepo` injects a `srcdir` directory, containing an ikiwiki wiki,
- into a `repository` that it creates. The repository can be a svn, git, or
mercurial repository.
+ into a `repository` that it creates. The repository can be created using
any of a variety of revision control systems.
  
- Note that for mercurial, the srcdir is converted into a mercurial
- repository. There is no need to have a separate repository with mercurial.
+ Note that for mercurial and bzr, the srcdir is converted into a
+ repository. There is no need to have a separate repository with mercurial
+ or bzr.
  
- Note that for monotone, you are assumed to already have run "mtn genkey" to generate
- key.
 +For darcs, the second (one-argument) form turns the given srcdir into a
 +darcs master repository with the (new) srcdir inside. Adjust your ikiwiki.setup
 +according to the command output! Also, the master repo's apply hook will be
 +preconfigured to call a (hypothetical) ikiwiki wrapper. The command
 +reports the relevant file. Adjust it as needed or remove it if you don't use
 +the cgi script.
 +
 -to generate a key.
+ Note that for monotone, you are assumed to already have run "mtn genkey"
++to generate key.
  
  # AUTHOR
  
diff --combined ikiwiki-makerepo
index 78eea8f537b98df43df51c0bcb1441ee18efeabd,32a9f864697795215fd0ebfe97353a96f587f744..1c9f256bd5a7b3b65a2b21073c5a35f93db9ae78
@@@ -6,8 -6,8 +6,8 @@@ srcdir="$2
  repository="$3"
  
  usage () {
 -      echo "usage: ikiwiki-makerepo svn|git|monotone srcdir repository" >&2
 -      echo "       ikiwiki-makerepo bzr|mercurial srcdir" >&2
 +      echo "usage: ikiwiki-makerepo svn|git|monotone|darcs srcdir repository" >&2
 +      echo "       ikiwiki-makerepo bzr|mercurial|darcs srcdir" >&2
        exit 1
  }
  
@@@ -20,7 -20,7 +20,7 @@@ if [ ! -d "$srcdir" ]; the
        exit 1
  fi
  
 -if [ "$rcs" != mercurial ] && [ "$rcs" != bzr ]; then
 +if [ "$rcs" != mercurial ] && [ "$rcs" != bzr ] && [ "$rcs" != darcs ]; then
        if [ -z "$repository" ]; then
                echo "you need to specify both a srcdir and a repository for $rcs" >&2
                usage
@@@ -75,7 -75,7 +75,7 @@@ mercurial
        hg init "$srcdir"
        cd "$srcdir"
        echo .ikiwiki > .hgignore
-       hg add * .hgignore
+       hg add
        hg commit -m "initial import"
        echo "Directory $srcdir is now set up as a mercurial repository"
  ;;
@@@ -83,7 -83,7 +83,7 @@@ bzr
        bzr init "$srcdir"
        cd "$srcdir"
        echo .ikiwiki > .bzrignore
-       bzr add * .bzrignore
+       bzr add
        bzr commit -m "initial import"
        echo "Directory $srcdir is now set up as a bzr repository"
  ;;
@@@ -121,40 -121,6 +121,40 @@@ monotone
        echo '    return "passphrasehere"'
        echo "end"
  ;;
 +darcs)
 +      if [ -e "$srcdir/_darcs" ]; then
 +              echo "$srcdir already seems to be a darcs repository" >&2
 +              exit 1
 +      fi
 +
 +      # if only one arg is given, we turn the given srcdir into the darcs
 +      # master repo with a hidden srcdir inside its _darcs directory.
 +      if [ -z "$repository" ]; then
 +              echo "Turning $srcdir into master repo."
 +              repository="$srcdir"
 +              srcdir="$srcdir/_darcs/srcdir"
 +              echo "The new srcdir is $srcdir - adjust ikiwiki.setup accordingly!"
 +      fi
 +
 +      mkdir -p "$repository"
 +      cd "$repository"
 +      darcs initialize
 +
 +      mkdir -p "$srcdir"
 +      cd "$srcdir"
 +      darcs initialize
 +      echo .ikiwiki >> _darcs/prefs/boring
 +      darcs record -a -l -q -m "initial import"
 +      darcs pull -a -q "$repository"
 +      darcs push -a -q "$repository"
 +      echo "Directory $srcdir is now a branch of darcs repo $repository"
 +
 +      # set up master repo's apply hook and tell user to adjust it if desired
 +      darcsdefaults="$repository/_darcs/prefs/defaults"
 +      echo "Preconfiguring apply hook in $darcsdefaults - adjust as desired!"
 +      echo "apply posthook $repository/_darcs/ikiwrapper" >> "$darcsdefaults"
 +      echo "apply run-posthook" >> "$darcsdefaults"
 +;;
  *)
        echo "Unsupported revision control system $rcs" >&2
        usage