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

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:

arn't you glad you use functions? don't you wish everybody did?
[code/myrepos.git] / mrconfig.complex
index f8ec25c2d30c6dfd85f39ab0d9233f73e84a0d27..7499b44c5665275149d97f11c4314cec87d34a8e 100644 (file)
@@ -4,21 +4,13 @@
 # although slightly cut down.
 
 [DEFAULT]
 # 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
+#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
 # 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
@@ -104,6 +96,16 @@ update = svn update && svnfix
 checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/mail
 skip = ! private
 
 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.
 # 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.