I am trying to write a pre-commit hook that modify a line in my code but I do not know even from where to start.
The problem is:
I have a KEY
public static final String APP_KEY = ""; //DELETE THE KEY BEFORE COMMIT!!!
In order to avoid publishing the KEY to the repository I've think maybe git hooks are the thing we need instead of delete the key manually. I've take a look at Customizing git hooks but I do not know how to write the hook.
Is there a way to before commit the changes, delete the KEy and after the commit write the key again?
That could be done with a content filter driver:
clean
script which would remove the key on checking,smudge
script which would add it back on checkout.(image from "Customizing Git Attributes" from the Git Book)
See an example of how those filters are declared in "Can git automatically switch between spaces and tabs?".
As noted by Juan Alonso in the comments:
I've had nothing but trouble with the clean/smudge scripts for a similar use-case, depending on the file contents unattended runs of
git add -A
would or wouldn't run the filter (as opposed to always working when callinggit
in attended mode).So I ended up going with a pre-commit hook.