# Teach mr to run a few git and svn specific commands.
 svn_cleanup = svn cleanup "$@"
 git_gc = git gc "$@"
-git_push = git push "$@"
-svn_push = :
 git_tag = git tag -l
 svn_tag = svn ls "$(LC_ALL=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
+# I prefer to git-svn rebase to fetch
+git_svn_update = git svn rebase
 # Tests used below.
 # - anon checks whether this is an anonymous checkout, by testing what url
 #   $HOME uses
 #   if not, the checkout is minimal
 # - on checks whether the given host basename is one of the listed
 #   values. A value can also have a username in it, ie "joey@dodo".
-# - 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
 lib = 
                done
                return 1
        }
-       wantmedia() {
-               on joey@kodama joey@dragon joey@dodo joey@turtle
-       }
-       private() {
-               on joey@wren joey@kodama joey@dragon joey@dodo joey@turtle \
-                       joey@blurbird joey@slug
-       }
        mylaptop() {
-               on kodama
+               on joey@gnu
        }
 
 # The root of my home directory.
-[]
+[.]
 order = 1
 checkout =
        if anon; then
                git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/home joey
        fi
 
+[Maildir]
 # Dummy target to create Maildir. Doesn't run offlineimap since I have that
 # cronned on machines where I want it.
-[Maildir]
 update = :
 skip = ! full
 checkout = mkdir Maildir Maildir/cur Maildir/new Maildir/tmp; chmod 700 Maildir
 status = :
 
+[mail]
+checkout = git clone ssh://joey@git.kitenet.net/srv/git/joey/private/mail
+# I use mairix to index my mail archive; keep its index up-to-date.
+fixups = if [ "$(which mairix)" ]; then ionice -c 3 mairix -Q; fi
+skip = ! mylaptop
+
+[tmp]
 # This is a dummy target, all it does is run fixups at the end of
 # an update.
-[tmp]
-update = fixups
-checkout = fixups
+fixups = $HOME/bin/fixups
+checkout = mkdir -p $HOME/tmp
 status = :
 order = 25