From: Daniel Barkalow <barkalow@iabervon.org>
To: Adam Hunt <kinema@gmail.com>
Cc: Junio C Hamano <junkio@cox.net>, git@vger.kernel.org
Subject: Re: /etc in git?
Date: Thu, 19 Jan 2006 17:22:57 -0500 (EST) [thread overview]
Message-ID: <Pine.LNX.4.64.0601191700120.25300@iabervon.org> (raw)
In-Reply-To: <7v64ogkdtu.fsf@assigned-by-dhcp.cox.net>
On Wed, 18 Jan 2006, Junio C Hamano wrote:
> Adam Hunt <kinema@gmail.com> writes:
>
> > Do you have any more details by chance? Does it work? Does it work
> > well? How does one do it?
>
> I personally feel it is a horrible and stupid thing to do, if by
> "version control /etc" you mean to have /.git which controls
> /etc/hosts and stuff in place. It would work (git does not
> refuse to run as root). But being a *source* control system, we
> deliberately refuse to store the full permission bits, so if
> your /etc/shadow is mode 0600 while /etc/hosts is mode 0644, you
> have to make sure they stay that way after checking things out.
At some point, people considered setting up an object type that would have
all of the bits. That is, if you want a directory to come out literally
the same as it went in, uid/gid/sticky-bit and all, you'd do something
special to make this happen.
I think you could do some nifty stuff where you have git take care of
/etc, and make all your changes to clones of the repository, push them,
and check them out. I bet you could even have three-way merge on package
installs this way; install the package into a fake root that has the /etc
generated by the install of the previous version of the package (i.e.,
without your changes), commit that head, then merge that head into your
master branch etc (in a non-real working tree, of course), check over the
result, commit, push to the real repository, and check out. For that
matter, you could probably generate the "package added replacing previous
package" commit without using a working tree, directly from the package.
(Sure, it's currently set up for source control only, but the original
theory was general content, and it should be good at producing exactly the
right directory structure if it had a type to represent exact stuff like
that)
-Daniel
*This .sig left intentionally blank*
prev parent reply other threads:[~2006-01-19 22:21 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-19 3:43 /etc in git? Adam Hunt
2006-01-19 4:35 ` Junio C Hamano
2006-01-19 4:40 ` Adam Hunt
2006-01-19 4:59 ` H. Peter Anvin
2006-01-19 5:05 ` Junio C Hamano
2006-01-19 6:23 ` Ryan Anderson
2006-01-19 7:50 ` Junio C Hamano
2006-01-19 9:41 ` [PATCH] Support precise tracking of file modes Petr Baudis
2006-01-19 18:25 ` Junio C Hamano
2006-01-19 18:46 ` Petr Baudis
2006-01-20 15:27 ` Alex Riesen
2006-01-20 14:16 ` Peter Baumann
2006-01-20 13:50 ` /etc in git? Ryan Anderson
2006-01-20 17:55 ` Junio C Hamano
2006-01-19 16:54 ` Joel Becker
2006-01-19 22:22 ` Daniel Barkalow [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0601191700120.25300@iabervon.org \
--to=barkalow@iabervon.org \
--cc=git@vger.kernel.org \
--cc=junkio@cox.net \
--cc=kinema@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).