Re: How to use git attributes to configure server-side checks?
- From
Jay Soffian <jaysoffian@gmail.com>
- Date
- Sep 21, 2011, 20:02 UTC
- Message-ID
- <CAG+J_DyxGW8MSYaRj2-fepFDeQDTsuy1S0VDgsu7u2CY+ZCZDQ@mail.gmail.com>
- In-Reply-To
- <4E7A3BDE.3040301@alum.mit.edu>
On Wed, Sep 21, 2011 at 3:32 PM, Michael Haggerty <mhagger@alum.mit.edu> wrote:
Show 14 quoted lines
> I was thinking of using git attributes to configure a server-side > "update" hook that does some basic sanity checking before accepting a > push. I thought I could do something like > > ~/.gitattributes: > *.c whitespace > > ~/crappy-vendor-code/.gitattributes: > # This code doesn't conform to our standards; disable check: > *.c -whitespace > > This would allow fine-grained specification of which checks are applied > to which files, and ensure that the hook configuration is kept > synchronized with changes to the content.
I do this by running diff --check. I'm actually doing it via Jenkins + Gerrit, but it's done against a bare repo, so the idea should work just the same via a git hook. Here's the code I run in Jenkins in case it's at all helpful - https://gist.github.com/6b230f9bd8d4d2fd9895
j.