]> git.madduck.net Git - code/myrepos.git/blobdiff - mrconfig

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

add ability to skip doing eg, updates, more frequently than a specified number of...
[code/myrepos.git] / mrconfig
index db9fb588b1c7dae9e6f1998c568d393511469678..57868f4be51ed61fad87702d6e982615b6b2a077 100644 (file)
--- a/mrconfig
+++ b/mrconfig
@@ -1,29 +1,85 @@
 # An 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
+gc = if [ -d "$MR_REPO"/.git ]; then git gc; fi
+# Tests used in the skips below.
+# - wantsrc checks whether I probably want a full source checkout (quite
+#   large)
+# - 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                               \
+       }                                                               \
+
 [src/mr]
-checkout = git clone ssh://kitenet.net/srv/git/kitenet.net/mr
+checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/mr
+skip = ! wantsrc
 
 [src/linux-2.6]
 checkout = git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
-# I only check this out on kodama, otherwise skip it.
-skip = test $(hostname) != kodama
+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://kitenet.net/srv/git/kitenet.net/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
+
+[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.
 []
@@ -31,6 +87,14 @@ checkout = svn co svn+ssh://svn.kitenet.net/srv/svn/joey/trunk/home-$(hostname)
 # run svnfix after each update
 update = svn update && svnfix
 
-[default]
-# Teach mr how to run svn cleanup.
-cleanup = if [ -d "$MR_REPO"/.svn ]; then svn cleanup ; fi
+[mail]
+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