Reputation: 12412
My ideal situation is to automatically minify CSS files and add them to the git commit. I'm not sure if #4 below can be done, but I would like the following flow to be performed:
If there is another way, I'd be interested in that as well.
Upvotes: 11
Views: 4278
Reputation: 129594
Write a smudge/clean script and mark your css files with the filter attribute. The trick is to do the work on a branch that does not have the attribute and deploy from the one that does. This is easy to set up if you back merge from the deploy branch initially with an ours merge strategy. This ensures that subsequent merges don't propagate the attribute.
That should do what you want.
Upvotes: 2
Reputation: 2192
Whether you should is another matter, but you can.
in .git/hooks/, write a script in your language of choice (make sure it's executable) named pre-commit in that script, run your minifier command, and do 'git add '
here's an example of someone who minifies javascript this way: https://gist.github.com/786460
a test hook I wrote:
#/bin/sh
tr "aeiou" "AEIOU" < test1.css > test1_diff.css
git add test1_diff.css
after running the commit, test1_diff.css was in the working directory, and in git, tracked.
Upvotes: 9
Reputation: 43824
You would use a "pre-commit hook" which gets called before/as your actual commit is made. Google it -- it basically just involved putting a pre-commit
script file in your .git
folder.
Upvotes: 2