git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Josh England" <jjengla@sandia.gov>
To: "Linus Torvalds" <torvalds@linux-foundation.org>
Cc: "David Kastrup" <dak@gnu.org>, git@vger.kernel.org
Subject: Re: tracking perms/ownership
Date: Fri, 24 Aug 2007 12:15:17 -0600	[thread overview]
Message-ID: <1187979317.6357.155.camel@beauty> (raw)
In-Reply-To: <alpine.LFD.0.999.0708241039250.25853@woody.linux-foundation.org>

On Fri, 2007-08-24 at 10:51 -0700, Linus Torvalds wrote:
> Because full permissions and ownership (think ACL's) simply aren't 
> "content" enough. The way to _reliably_ turn them into "content" that can 
> be tracked, is to make it some form of file content.
> 
> Because otherwise, you will always hit situations where you simply cannot 
> access it sanely. Even as an administrator you might need to do some 
> emergency fixup, but you may be on vacation, and the only thing you have 
> access to is some machine that you're not root on - and you'd like to send 
> a "git bundle" with the fix to your less-than-stellar stand-in that is 
> knee-deep in sh*t because he doesn't know the system, and you're on some 
> sunny tropical island.

Using the .gitattributes approach essentially does turn perms/ownership
into trackable content.  A non-root user could specify the ownership of
certain files just by editing the .gitattributes, much in the same way a
non-root user can create an initramfs filesystem.

> Or just imagine the case where you have slightly different setups for 
> different people - some have ACL's, some have just basic permissions. But 
> you want to maintain an image that works for both cases. What do you do?

punt  :)   Simple unix ownership and perms are a good first cut.  ACL's
could probably be handled in much the same way, but converting between
unix perms and ACLs might have to be a separate attribute/filter
entirely.

> See? If you just accept the fact that ownership and permissions are 
> totally "separate content" that is tracked AS CONTENT, and not as the 
> filesystem thing, you solve all these problems.
> 
> > git is a content _tracker_.  It tracks contents, also contents that
> > move around.  If it can't track the permissions moving around as well,
> > it's sort of pointless to integrate this into git: if you have to
> > manage the stuff yourself, anyway, there is no point in creating the
> > illusion that it is done by git.
> 
> Fair enough - I'll certainly agree with the notion that we don't 
> necessarily need any integration of permissions/ownership into git at 
> all, and you can always do it as a totally independent layer.
> 
> > > Your choice. But I know which one I'd choose.
> > 
> > That's fine.  But you don't actually need git at all to implement your
> > choice, so this is orthogonal to whether having an option to do it
> > inside of git might be worth having.
> 
> But I care about git having a *sane*design*, whether I use all the 
> features or not. Because I simply care about my tools at a higher level 
> than most users do. Which means that it doesn't matter whether I'll use 
> permissions/ownership tracking or not - I still require that git do it 
> *sanely* from my standpoint of having a good content tracker.
> 
> And that means tracking those things *separately*, and not trying to mess 
> up the "tree" structure, for example.

Do you think its OK to cache this stuff in the index, though?
write-tree could then just dump the perms/ownership out as gitattributes
somewhere.

-JE

  reply	other threads:[~2007-08-24 18:14 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-21 17:14 empty directories Josh England
2007-08-21 17:40 ` Sean
2007-08-22 21:25   ` Josh England
2007-08-22 23:25     ` Linus Torvalds
2007-08-22 23:55       ` David Kastrup
2007-08-23 15:24       ` Josh England
2007-08-23 21:51       ` tracking perms/ownership [was: empty directories] Josh England
2007-08-23 22:08         ` tracking perms/ownership Junio C Hamano
2007-08-23 23:30           ` Linus Torvalds
2007-08-24  6:16             ` David Kastrup
2007-08-24  6:37               ` Linus Torvalds
2007-08-24  7:38                 ` Josh England
2007-08-24  7:50                 ` David Kastrup
2007-08-24 17:51                   ` Linus Torvalds
2007-08-24 18:15                     ` Josh England [this message]
2007-08-24 18:23                       ` Linus Torvalds
2007-08-24 18:56                         ` Josh England
2007-08-24 20:37                           ` Junio C Hamano
2007-08-24 21:26                             ` Josh England
2007-08-24 19:33                       ` Robin Rosenberg
2007-08-24 21:30                     ` David Kastrup
2007-08-24  7:22           ` Josh England
2007-08-24  7:39             ` Junio C Hamano
2007-08-24  8:19               ` Josh England
2007-08-24 16:11           ` Josh England
2007-08-24 16:27             ` Josh England
2007-08-24  9:38         ` tracking perms/ownership [was: empty directories] Johannes Schindelin
2007-08-24  9:52           ` Jeff King
2007-08-24 15:50             ` Josh England
2007-08-24 20:58               ` Jeff King
2007-08-25 14:31                 ` Johannes Schindelin
2007-08-25 14:46                   ` tracking perms/ownership Junio C Hamano
2007-08-25 19:35                     ` Junio C Hamano
2007-08-24 10:05           ` tracking perms/ownership [was: empty directories] Jeff King
2007-08-25 14:30             ` Johannes Schindelin
2007-08-24 17:10       ` empty directories Jason Garber
2007-08-22 23:40     ` Jakub Narebski
2007-08-22  0:06 ` Jakub Narebski
2007-08-22  4:31 ` Salikh Zakirov
2007-08-22 18:46   ` Linus Torvalds
2007-08-22 19:12     ` David Kastrup

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1187979317.6357.155.camel@beauty \
    --to=jjengla@sandia.gov \
    --cc=dak@gnu.org \
    --cc=git@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /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.
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 NNTP newsgroup(s).