* 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
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
}
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
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