X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/413865c35343c6cf080c5f66a08a67eaef923ca3..c40383647dd8fc2f7159dee681b8c3e3619d3875:/mrconfig?ds=sidebyside diff --git a/mrconfig b/mrconfig index 500985f..a1abcd1 100644 --- a/mrconfig +++ b/mrconfig @@ -1,109 +1,12 @@ -# An example config file for the mr(1) command. +# A simple example config file for the mr(1) command. -[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. -# 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. -# - wantsrc checks whether I probably want a full source checkout (quite -# large) -# - wantmedia checks whether I probably want various large media files -# here. -# - private are hosts I trust private data to -# - mylaptop only succeeds if it's on my main development laptop, which -# gets lots of extra cruft -# - kite only succeeds on kite -lib = - wantsrc() { - test "$(whoami)" = joey - } - wantmedia() { - if [ "$(whoami)" = joey ]; then - case "$(hostname)" in - kodama|dragon|dodo) - return 0 - ;; - esac - fi - return 1 - } - private() { - if [ "$(whoami)" = joey ]; then - case "$(hostname)" in - wren|kodama|dragon|dodo|bluebird) - return 0 - ;; - esac - fi - return 1 - } - mylaptop() { - test "$(hostname)" = kodama - } - kite() { - test "$(hostname)" = wren - } +[mr] +checkout = git clone git://git.kitenet.net/mr -[src/mr] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/mr -skip = ! wantsrc - -[src/linux-2.6] +[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 ]) - -[src/dpkg] -# A merge of the upstream dpkg git repo and my own personal branch. -checkout = - git clone git://git.debian.org/git/dpkg/dpkg.git && - cd dpkg && - git remote add kite ssh://git.kitenet.net/srv/git/kitenet.net/dpkg && - git fetch kite && - git checkout -b sourcev3 kite/sourcev3 -update = git pull origin master && git pull kite sourcev3 -commit = git push kite -skip = ! wantsrc - -[html/www.debian.org] -# Still in CVS..urk! -checkout = - CVSROOT=:ext:joeyh@cvs.debian.org:/cvs/webwml - cvs co -d www.debian.org webwml -# cvs sucks sufficiently that I prefer to run these commands by hand, -# and only rarely -update = echo "skipping cvs update (too slow)" -status = echo "skipping cvs status (too ugly)" -skip = ! mylaptop || ! wantsrc - -# My home directory, which I keep in svn. -[] -checkout = svn co svn+ssh://svn.kitenet.net/srv/svn/joey/trunk/home-$(hostname) joey -# run svnfix after each update -update = svn update && svnfix - -[mail] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/mail -skip = ! private +# only update once every 12 hours +skip = ([ "$1" = update ] && ! hours_since "$1" 12) -# 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. -[foo] -update = error "$MR_REPO is no longer used and should be deleted" -skip = ! test -d "$MR_REPO" +[debian-cd] +checkout = svn co svn://svn.debian.org/debian-cd/trunk debian-cd