Re: Using GIT to store /etc (Or: How to make GIT store all file permission bits)
- From
- Jeff Garzik <jeff@garzik.org>
- Date
- Dec 10, 2006, 14:49 UTC
- Message-ID
- <457C1E8E.4080407@garzik.org>
- In-Reply-To
- <787BE48C-1808-4A33-A368-5E8A3F00C787@mac.com>
Kyle Moffett wrote:
Show 16 quoted lines
> I've recently become somewhat interested in the idea of using GIT to > store the contents of various folders in /etc. However after a bit of > playing with this, I discovered that GIT doesn't actually preserve all > permission bits since that would cause problems with the more > traditional software development model. I'm curious if anyone has done > this before; and if so, how they went about handling the permissions and > ownership issues. > > I spent a little time looking over how GIT stores and compares > permission bits; trying to figure out if it's possible to patch in a new > configuration variable or two; say "preserve_all_perms" and > "preserve_owner", or maybe even "save_acls". It looks like standard > permission preservation is fairly basic; you would just need to patch a > few routines which alter the permissions read in from disk or compare > them with ones from the database. On the other hand, it would appear > that preserving ownership or full POSIX ACLs might be a bit of a challenge.
It's a great idea, something I would like to do, and something I've suggested before. You could dig through the mailing list archives, if you're motivated.
I actively use git to version, store and distribute an exim mail configuration across six servers. So far my solution has been a 'fix perms' script, or using the file perm checking capabilities of cfengine.
But it would be a lot better if git natively cared about ownership and permissions (presumably via an option).
Jeff