X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/eb5687932cd1ebe3d5a5d0f56eee8d6aac8d8559..7d95a4a9b0357e85eb8b15ebf04d2e4188b4479c:/mrconfig.complex

diff --git a/mrconfig.complex b/mrconfig.complex
index c59c8fe..f5d850a 100644
--- a/mrconfig.complex
+++ b/mrconfig.complex
@@ -4,22 +4,16 @@
 # 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.
@@ -69,7 +63,7 @@ skip = ! wantsrc
 [src/linux-2.6]
 checkout = git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
 skip = ! mylaptop || ! wantsrc ||
-	([ "$1" = update ] && [ $(hours_since "$1") -lt 12 ])
+	([ "$1" = update ] && ! hours_since "$1" 12)
 
 [src/dpkg]
 # A merge of the upstream dpkg git repo and my own personal branch.
@@ -104,6 +98,16 @@ update = svn update && svnfix
 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.