ikiwiki-makerepo: Added support for monotone. (Thomas Keller)

master
Joey Hess 2008-08-21 23:44:00 -04:00
parent 6cf96b5819
commit db73f81258
2 changed files with 26 additions and 2 deletions

1
debian/changelog vendored
View File

@ -4,6 +4,7 @@ ikiwiki (2.62) UNRELEASED; urgency=low
* Avoid using hostname -f for portability to eg, OS X, use Net::Domain * Avoid using hostname -f for portability to eg, OS X, use Net::Domain
instead, and prompt if it fails. instead, and prompt if it fails.
* Fix bug in wikiname sanitisation in the setup automator. * 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 -- Joey Hess <joeyh@debian.org> Thu, 21 Aug 2008 16:20:58 -0400

View File

@ -6,7 +6,7 @@ srcdir="$2"
repository="$3" repository="$3"
usage () { 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 echo " ikiwiki-makerepo bzr|mercurial srcdir" >&2
exit 1 exit 1
} }
@ -29,7 +29,7 @@ if [ "$rcs" != mercurial ] && [ "$rcs" != bzr ]; then
echo "repository $repository already exists, aborting" >&2 echo "repository $repository already exists, aborting" >&2
exit 1 exit 1
fi 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 if [ -z "$repository" ]; then
echo "internal error finding repository abs_path" >&2 echo "internal error finding repository abs_path" >&2
exit 1 exit 1
@ -87,6 +87,29 @@ bzr)
bzr commit -m "initial import" bzr commit -m "initial import"
echo "Directory $srcdir is now set up as a bzr repository" 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 echo "Unsupported revision control system $rcs" >&2
usage usage