From: Michael Haggerty Date: Wed, 27 Feb 2013 07:42:14 GMT Subject: Re: post-receive-email hook with custom_showrev Message-ID: <512DB8D6.9010109@alum.mit.edu> In-Reply-To: On 02/22/2013 09:57 PM, Adam Mercer wrote: > I'm trying to setup the post-receive-email hook, from contrib, using a > custom_showrev, from the script I do this by setting hooks.showrev > > # hooks.showrev > # The shell command used to format each revision in the email, with > # "%s" replaced with the commit id. Defaults to "git rev-list -1 > # --pretty %s", displaying the commit id, author, date and log > # message. To list full patches separated by a blank line, you > # could set this to "git show -C %s; echo". > # To list a gitweb/cgit URL *and* a full patch for each change set, use this: > # "t=%s; printf 'http://.../?id=%%s' \$t; echo;echo; git show -C \$t; echo" > # Be careful if "..." contains things that will be expanded by shell "eval" > # or printf. > > in my repositories config I have showrev set to: > > [hooks] > showrev = t=%s; printf > 'http://server/cgit/repository/commit/?id=%%s' \$t; echo;echo; git > show -C \$t; echo If I type that into my .git/config file then type "git config hooks.showrev" I get "bad config file line 7 in .git/config" due to the "\$". I think the quoting in the comment in post-receive-email is written as if it would be passed via the command line to "git config"; i.e., git config hooks.showrev "t=%s; printf 'http://.../?id=%%s' \$t; echo;echo; git show -C \$t; echo" Granted, the docs don't make that clear. See git-config(1) for the details of the config file syntax. Michael -- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/