X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/eb5687932cd1ebe3d5a5d0f56eee8d6aac8d8559..c96f104ae98e3268784cb44458e8891e236b4d99:/mrconfig.complex?ds=sidebyside 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.