From: Jeff Garzik Date: Sun, 10 Dec 2006 14:49:50 GMT Subject: Re: Using GIT to store /etc (Or: How to make GIT store all file permission bits) Message-ID: <457C1E8E.4080407@garzik.org> In-Reply-To: <787BE48C-1808-4A33-A368-5E8A3F00C787@mac.com> Kyle Moffett wrote: > 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