Putting /etc under source control
Solution 1:
You should look at using etckeeper, instead of trying to reinvent the wheel.
Solution 2:
Could be overkill for a single system (unless you need to 'rebuild' it from time to time) but the usual solution for configuration management is to use some scm like cfEngine, Puppet, bcfg2 , or the like, and then put their data under source control.