mirror of
https://github.com/git/git
synced 2024-08-26 19:19:18 +00:00
Honor extractor's umask in git-tar-tree.
The archive generated with git-tar-tree had 0755 and 0644 mode bits. This inconvenienced the extractor with umask 002 by robbing g+w bit unconditionally. Just write it out with loose permissions bits and let the umask of the extractor do its job. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
f8d839ad99
commit
38ec15a973
|
@ -353,6 +353,8 @@ static void traverse_tree(void *buffer, unsigned long size,
|
||||||
|
|
||||||
if (size < namelen + 20 || sscanf(buffer, "%o", &mode) != 1)
|
if (size < namelen + 20 || sscanf(buffer, "%o", &mode) != 1)
|
||||||
die("corrupt 'tree' file");
|
die("corrupt 'tree' file");
|
||||||
|
if (S_ISDIR(mode) || S_ISREG(mode))
|
||||||
|
mode |= (mode & 0100) ? 0777 : 0666;
|
||||||
buffer = sha1 + 20;
|
buffer = sha1 + 20;
|
||||||
size -= namelen + 20;
|
size -= namelen + 20;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue