On Tuesday, March 13, 2007 at 10:03:18 (-0700) Junio C Hamano writes: >Bill Lear <rael@xxxxxxxxxx> writes: > >> Is there a way to do this sort of thing that I am missing? > >I think the way the config is designed is to place arbitrary >values as values not variable names. > >Perhaps... > > [mymailhook "everything"] > recipients = me > branch = "*" > > [mymailhook "all but xyz"] > recipients = alice bob charlie > branch = "*" > branch = "!xyz" Hmm, so in my example, if I had "abc" and "xyz"-specific lists: [mymailhook "abc"] recipients = jim bob janet branch = "abc*" [mymailhook "xyz"] recipients = alice bob charlie branch = "xyz*" [mymailhook "everything"] recipients = me branch = "*" Then, I might, in the update hook, do this, given a branch for which to find the recipients ("to", below): for key, pattern in $(git-config --get-regexp 'mymailhook.*.branch'); do label=${key#mailhook.} label=${label%.branch} if $(matches $pattern $branch); then to += $(git-config --get-regexp "mymailhook.${label}.recipients") fi done But that doesn't work for your example "all but xyz". I guess in that case, I would need to check both branch patterns and if one did not match, then I would reject it and not add to the recipient list. Was that basically what you had in mind? Bill - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html