Subject: Re: confused about preserved permissions

From: Mike Hommey <[email-masked]>
Date: Mon, 20 Aug 2007 19:41:42 +0200

On Mon, Aug 20, 2007 at 06:44:11PM +0200, martin f krafft <[email-masked]> wrote:
> Why does git bother saving a mode when later it never seems to use
> it again?

Same applies to git-archive, which generates files with mode 666 and
directories with 777, while it could follow the modes in the
repository... or at least, that's what the manpage claims, but facts
seem to be quite different...

mh@namakemono:~/git/git$ git-archive --format=tar HEAD | tar -tvf -
-rw-rw-r-- root/root      2365 2007-08-19 20:45 .gitignore
-rw-rw-r-- root/root      1973 2007-08-19 20:45 .mailmap
-rw-rw-r-- root/root     18787 2007-08-19 20:45 COPYING
drwxrwxr-x root/root         0 2007-08-19 20:45 Documentation/
-rw-rw-r-- root/root        63 2007-08-19 20:45 Documentation/.gitignore
-rw-rw-r-- root/root      4553 2007-08-19 20:45 Documentation/Makefile
(...)
mh@namakemono:~/git/git$ git-ls-tree HEAD
100644 blob 63c918c667fa005ff12ad89437f2fdc80926e21c    .gitignore
100644 blob 5529b198e8d14decbe4ad99db3f7fb632de0439d    .mailmap
100644 blob 6ff87c4664981e4397625791c8ea3bbb5f2279a3    COPYING
040000 tree 865a32f4b417cbb601524ac2b78ca64ff232302c    Documentation
100755 blob 3c0032cec592a765692234f1cba47dfdcc3a9200    GIT-VERSION-GEN
(...)

mh@namakemono:~/git/git$ umask
0022

And no value is set for umask in git config...

I also never understood why there were no permissions set on directories
in trees... nor why, while the sha1 for child objects are "packed", the
modes aren't...

Mike