# although slightly cut down.
[DEFAULT]
-# Teach mr how to run svn cleanup.
-cleanup = if [ -d "$MR_REPO"/.svn ]; then svn cleanup ; fi
-# And how to run git gc and push.
-gc = if [ -d "$MR_REPO"/.git ]; then git gc; fi
-push = if [ -d "$MR_REPO"/.git ]; then git push; fi
-# And how to list tags for git and svn.
-tag =
- if [ -d "$MR_REPO"/.svn ]; then
- git tag
- elsif [ -d "$MR_REPO"/.git ]; then
- url=$(LANG=C svn info . | grep -i ^URL: | cut -d ' ' -f 2)
- svn ls "$(echo '$url' | sed -e 's/trunk/tags/')"
- else
- error "unknown repo type"
- fi
-# This hack is here because git-pull stupidly outputs tag info to stderr.
+# Include all available libs.
+include = cat /usr/share/mr/* 2>/dev/null || true
+#include = cat $HOME/src/mr/mrconfig.git-fake-bare
+# Teach mr to run a few git and svn specific commands.
+svn_cleanup = svn cleanup "$@"
+git_gc = git gc "$@"
+git_push = git push "$@"
+git_tag = git tag -l
+svn_tag = svn ls "$(LANG=C svn info . | grep -i ^URL: | cut -d ' ' -f 2 | sed -e 's/trunk/tags/')"
+# This hack is here because git pull stupidly outputs tag info to stderr.
# Shut it up but let real errors through, for use in cron.
quietupdate = mr -s -n update 3>&1 1>/dev/null 2>&3 | egrep -v '(storing tag|tag: )' || true
# Tests used in the skips below.
checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/mail
skip = ! private
+# I don't keep my music in revision control, but mr can be taught to use
+# unison to synchronise it.
+[sound]
+checkout = unison -batch sound
+update = unison -batch sound
+commit = unison sound
+skip = ! wantmedia
+# Update this last of all.
+order = 100
+
# Example of how to remember to delete a repo, when one mrconfig file is
# used on multiple systems. If you're feeling brave, use rm -rf $MR_REPO
# instead. This approach can also be used for renames.