]> 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 to the example mrconfig a "tags" command that lists tags.
[code/myrepos.git] / mrconfig
index 59ab018c3aa6a528adf2bfca7410f07d67ae0725..500985f55f9b907eeed630a41504affbadab932a 100644 (file)
--- a/mrconfig
+++ b/mrconfig
@@ -3,8 +3,22 @@
 [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
+# 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)
@@ -86,3 +100,10 @@ update = svn update && svnfix
 [mail]
 checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/mail
 skip = ! private
+
+# 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"