Re: confused about preserved permissions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Aug 20, 2007 at 20:48:29 +0200, Mike Hommey wrote:
> On Mon, Aug 20, 2007 at 08:40:13PM +0200, David Kastrup <dak@xxxxxxx> wrote:
> > Mike Hommey <mh@xxxxxxxxxxxx> writes:
> > 
> > > On Mon, Aug 20, 2007 at 07:58:43PM +0200, David Kastrup <dak@xxxxxxx> wrote:
> > >> > I also never understood why there were no permissions set on
> > >> > directories in trees...
> > >> 
> > >> Because directories are not actually tracked.  They are created and
> > >> deleted as-needed.
> > >
> > > I don't see why it would prevent to have a permission set to
> > > it... the permission technically can be recorded in the parent tree,
> > > along its sha1. Filesystems are also like this.
> > 
> > No, they aren't.  Filesystems don't create and delete directories on
> > the fly.  If we record any information about a directory, deleting it
> > automagically would not be appropriate since we would lose information
> > that has not been explicitly deleted.
> 
> git doesn't magically create directories either. It actually stores
> something about them: the hash of the tree object that represents them.
> And it has permissions associated with these hashes.
> 
> What it doesn't have, though, is tracking of the directory's history.

Git does not have tracking of file's history either.

There are actually no permissions to record with a directory, since only
executable bit is tracked and that always has to be turned on.

Git actually does store directories in tree objects, but never in the index.
There was a long thread about tracking existence of directories. IMNSHO the
index can start to *always* contain directories, with reader being able to
detect index written without them and automatically fill them in, to keep
compatibility. Than a config option could switch between removing empty
directories implicitly when there are no versioned files in them, or
explicitely.

-- 
						 Jan 'Bulb' Hudec <bulb@xxxxxx>

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux