X-Git-Url: https://git.madduck.net/code/myrepos.git/blobdiff_plain/b98f33c78f807d0a66d27ec56e2efbe240bd4502..053e3644c138dc6466051a3b211233c102860ccb:/mrconfig?ds=sidebyside diff --git a/mrconfig b/mrconfig index 57868f4..e38bd40 100644 --- a/mrconfig +++ b/mrconfig @@ -3,35 +3,51 @@ [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 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 +# 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 \ - } \ - 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 \ - } \ +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 + } [src/mr] checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/mr @@ -39,16 +55,16 @@ 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 || \ +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 && \ +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 @@ -56,8 +72,8 @@ skip = ! wantsrc [html/www.debian.org] # Still in CVS..urk! -checkout = \ - CVSROOT=:ext:joeyh@cvs.debian.org:/cvs/webwml \ +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 @@ -65,22 +81,6 @@ update = echo "skipping cvs update (too slow)" status = echo "skipping cvs status (too ugly)" skip = ! mylaptop || ! wantsrc -[src/packages/uqm] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm -skip = ! wantsrc - -[src/packages/uqm-content] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm-content -skip = ! wantsrc - -[src/packages/uqm-voice] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm-voice -skip = ! wantsrc - -[src/packages/uqm-music] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/uqm-music -skip = ! wantsrc - # My home directory, which I keep in svn. [] checkout = svn co svn+ssh://svn.kitenet.net/srv/svn/joey/trunk/home-$(hostname) joey @@ -91,10 +91,9 @@ update = svn update && svnfix checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/mail skip = ! private -[doc] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/doc -skip = ! private - -[lib/text] -checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/text -skip = ! wantmedia +# 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"