views:

52

answers:

2

Hi.

Is there a way to run the changed files through a filter before doing the commit? I wish to make sure the files follows the coding standards for the project.

I would also like to compile and run some test before the commit/push actually takes place, so I know everything in the repo actually works.

+3  A: 

Pre-commit hooks. Read up on git hooks. The Git Book has an example of how to write a Ruby script to run RSpec tests, for instance.

You just save the executable as .git/hooks/pre-commit - using a hashbang to specify the language. It is just an ordinary shell script, although you can use any scripting language, so long as it returns 1 if there is a problem and 0 if there isn't.

Tom Morris
This is exactly what I'm looking for. With this I can force the repo to be as the coding standards for the project should be. Thanks a bunch. Now all I have to do is write some scripts to do what I wish to do.
martiert
+2  A: 

For the filter part, I would recommend a smudge/clear driver, with the 'clear' script containing all the formatting or checking you need (executing on commit)

alt text

You can declare this git attribute filter driver only for certain types of files, only for certain directories within your repo.

VonC