]> git.madduck.net Git - code/myrepos.git/blob - 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 an example of how to run git w/o getting random crap on stderr
[code/myrepos.git] / mrconfig
1 # An example config file for the mr(1) command.
2
3 [DEFAULT]
4 # This hack is here because git-pull stupidly outputs tag info to stderr.
5 # Shut it up but let real errors through, for use in cron.
6 quietupdate = mr -n update 3>&1 1>/dev/null 2>&3 | egrep -v '(storing tag|tag: )'
7 # Teach mr how to run svn cleanup.
8 cleanup = if [ -d "$MR_REPO"/.svn ]; then svn cleanup ; fi
9 # And how to run git gc and push.
10 gc = if [ -d "$MR_REPO"/.git ]; then git gc; fi
11 push = if [ -d "$MR_REPO"/.git ]; then git push; fi
12 # Tests used in the skips below.
13 # - wantsrc checks whether I probably want a full source checkout (quite
14 #   large)
15 # - wantmedia checks whether I probably want various large media files
16 #   here.
17 # - private are hosts I trust private data to
18 # - mylaptop only succeeds if it's on my main development laptop, which 
19 #   gets lots of extra cruft
20 # - kite only succeeds on kite
21 lib =
22         wantsrc() {
23                 test "$(whoami)" = joey
24         }
25         wantmedia() {
26                 if [ "$(whoami)" = joey ]; then
27                         case "$(hostname)" in
28                                 kodama|dragon|dodo)
29                                         return 0
30                         ;;
31                         esac
32                 fi
33                 return 1
34         }
35         private() {
36                 if [ "$(whoami)" = joey ]; then
37                         case "$(hostname)" in
38                         wren|kodama|dragon|dodo|bluebird)
39                                 return 0
40                         ;;
41                         esac
42                 fi
43                 return 1
44         }
45         mylaptop() {
46                 test "$(hostname)" = kodama
47         }
48         kite() {
49                 test "$(hostname)" = wren
50         }
51
52 [src/mr]
53 checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/mr
54 skip = ! wantsrc
55
56 [src/linux-2.6]
57 checkout = git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
58 skip = ! mylaptop || ! wantsrc ||
59         ([ "$1" = update ] && [ $(hours_since "$1") -lt 12 ])
60
61 [src/dpkg]
62 # A merge of the upstream dpkg git repo and my own personal branch.
63 checkout =
64         git clone git://git.debian.org/git/dpkg/dpkg.git &&
65         cd dpkg &&
66         git remote add kite ssh://git.kitenet.net/srv/git/kitenet.net/dpkg &&
67         git fetch kite &&
68         git checkout -b sourcev3 kite/sourcev3
69 update = git pull origin master && git pull kite sourcev3
70 commit = git push kite
71 skip = ! wantsrc
72
73 [html/www.debian.org]
74 # Still in CVS..urk!
75 checkout =
76         CVSROOT=:ext:joeyh@cvs.debian.org:/cvs/webwml
77         cvs co -d www.debian.org webwml
78 # cvs sucks sufficiently that I prefer to run these commands by hand,
79 # and only rarely
80 update = echo "skipping cvs update (too slow)"
81 status = echo "skipping cvs status (too ugly)"
82 skip = ! mylaptop || ! wantsrc
83
84 # My home directory, which I keep in svn.
85 []
86 checkout = svn co svn+ssh://svn.kitenet.net/srv/svn/joey/trunk/home-$(hostname) joey
87 # run svnfix after each update
88 update = svn update && svnfix
89
90 [mail]
91 checkout = git clone ssh://git.kitenet.net/srv/git/kitenet.net/joey/private/mail
92 skip = ! private
93
94 # Example of how to remember to delete a repo, when one mrconfig file is
95 # used on multiple systems. If you're feeling brave, use rm -rf $MR_REPO
96 # instead. This approach can also be used for renames.
97 [foo]
98 update = error "$MR_REPO is no longer used and should be deleted"
99 skip = ! test -d "$MR_REPO"