Re: confused about preserved permissions
- From
Mike Hommey <mh@glandium.org>
- Date
- Aug 20, 2007, 18:48 UTC
- Message-ID
- <20070820184829.GA8617@glandium.org>
- In-Reply-To
- <86zm0mgicy.fsf@lola.quinscape.zz>
On Mon, Aug 20, 2007 at 08:40:13PM +0200, David Kastrup <dak@gnu.org> wrote:
Show 17 quoted lines
> Mike Hommey <mh@glandium.org> writes: > > > On Mon, Aug 20, 2007 at 07:58:43PM +0200, David Kastrup <dak@gnu.org> 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.
(...)
Show 5 quoted lines
> > I think i wasn't clear enough... I just wondered why the format for tree
> > entries is something like (if you'd write it in perl):
> > sprintf "%06o %s\0%s", $mode, $file, pack("H[40]", $sha1)
>
> Now I am sure I don't get your point.See what a raw tree object looks like: git-cat-file tree 708453d64796eb617cb8a1602959e00356693315
Mike