aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog1
-rwxr-xr-xikiwiki-makerepo27
2 files changed, 26 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog
index 050698e72..25beb28ea 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ ikiwiki (2.62) UNRELEASED; urgency=low
* Avoid using hostname -f for portability to eg, OS X, use Net::Domain
instead, and prompt if it fails.
* Fix bug in wikiname sanitisation in the setup automator.
+ * ikiwiki-makerepo: Added support for monotone. (Thomas Keller)
-- Joey Hess <joeyh@debian.org> Thu, 21 Aug 2008 16:20:58 -0400
diff --git a/ikiwiki-makerepo b/ikiwiki-makerepo
index b733bd13a..aef3e4d0f 100755
--- a/ikiwiki-makerepo
+++ b/ikiwiki-makerepo
@@ -6,7 +6,7 @@ srcdir="$2"
repository="$3"
usage () {
- echo "usage: ikiwiki-makerepo svn|git srcdir repository" >&2
+ echo "usage: ikiwiki-makerepo svn|git|monotone srcdir repository" >&2
echo " ikiwiki-makerepo bzr|mercurial srcdir" >&2
exit 1
}
@@ -29,7 +29,7 @@ if [ "$rcs" != mercurial ] && [ "$rcs" != bzr ]; then
echo "repository $repository already exists, aborting" >&2
exit 1
fi
- repository="$(perl -e 'use Cwd q{abs_path}; $r=shift; $r=~s/\/*$//; print abs_path($r)' $repository)"
+ repository="$(perl -e 'use Cwd q{abs_path}; $r=shift; $r=~s/\/*$//; print abs_path($r)' "$repository")"
if [ -z "$repository" ]; then
echo "internal error finding repository abs_path" >&2
exit 1
@@ -87,6 +87,29 @@ bzr)
bzr commit -m "initial import"
echo "Directory $srcdir is now set up as a bzr repository"
;;
+monotone)
+ if [ -e "$srcdir/_MTN" ]; then
+ echo "$srcdir already seems to be a monotone working copy" >&2
+ exit 1
+ fi
+ repodir=$(dirname "$repository")
+ mkdir -p "$repodir"
+ file_basename=$(basename -s .monotone "$repository" |\
+ tr -s "[:space:]" "_" | sed 's/_$//g')
+ reverse_hostname=$((hostname -f 2>/dev/null || hostname) |\
+ tr "." "\n" | tail -r | tr "\n" ".")
+ branch_name="$reverse_hostname$file_basename"
+ reponame_with_ext="$file_basename.mtn"
+ mtn db init -d "$repodir/$reponame_with_ext"
+ mtn setup -d "$repodir/$reponame_with_ext" -b "$branch_name" "$srcdir"
+ cd "$srcdir"
+ echo \.ikiwiki$ > .mtn-ignore
+ mtn add -R .
+ # this expects that you already have a working mtn environment
+ # with a default key floating around...
+ mtn ci -m "initial import"
+ echo "Directory $srcdir is now set up as a monotone repository"
+;;
*)
echo "Unsupported revision control system $rcs" >&2
usage