aboutsummaryrefslogtreecommitdiff
path: root/ikiwiki-makerepo
diff options
context:
space:
mode:
authorJoey Hess <joey@kodama.kitenet.net>2008-10-15 19:38:21 -0400
committerJoey Hess <joey@kodama.kitenet.net>2008-10-15 19:38:21 -0400
commit7eb512205fba0efad301521bbd641848b4890b1d (patch)
treee62040b55a812e2341f1a6d66c0d042eeb135c37 /ikiwiki-makerepo
parent1f7f5d5e0e21920c5f15290cd34594ad91077071 (diff)
downloadikiwiki-7eb512205fba0efad301521bbd641848b4890b1d.tar
ikiwiki-7eb512205fba0efad301521bbd641848b4890b1d.tar.gz
updated from pesco's darcs repo, current to Oct 11 version
Diffstat (limited to 'ikiwiki-makerepo')
-rwxr-xr-xikiwiki-makerepo40
1 files changed, 37 insertions, 3 deletions
diff --git a/ikiwiki-makerepo b/ikiwiki-makerepo
index c3d835c30..78eea8f53 100755
--- a/ikiwiki-makerepo
+++ b/ikiwiki-makerepo
@@ -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 @@ if [ ! -d "$srcdir" ]; then
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
@@ -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