From: Junio C Hamano Date: Wed, 6 Jul 2005 08:21:46 +0000 (-0700) Subject: [PATCH] Let umask do its work upon filesystem object creation. X-Git-Tag: v0.99~43 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=f312de018b48853d166040908b0ba2bf666e26c1;p=git.git [PATCH] Let umask do its work upon filesystem object creation. IIRC our strategy was to let the users' umask take care of the final mode bits. This patch fixes places that deviate from it. Signed-off-by: Junio C Hamano Signed-off-by: Linus Torvalds --- diff --git a/apply.c b/apply.c index 701c01a3..c87cbf9e 100644 --- a/apply.c +++ b/apply.c @@ -1237,7 +1237,7 @@ static void create_subdirectories(const char *path) len = slash - path; memcpy(buf, path, len); buf[len] = 0; - if (mkdir(buf, 0755) < 0) { + if (mkdir(buf, 0777) < 0) { if (errno != EEXIST) break; } diff --git a/csum-file.c b/csum-file.c index c8c73691..907efbf8 100644 --- a/csum-file.c +++ b/csum-file.c @@ -86,7 +86,7 @@ struct sha1file *sha1create(const char *fmt, ...) die("you wascally wabbit, you"); f->namelen = len; - fd = open(f->name, O_CREAT | O_EXCL | O_WRONLY, 0644); + fd = open(f->name, O_CREAT | O_EXCL | O_WRONLY, 0666); if (fd < 0) die("unable to open %s (%s)", f->name, strerror(errno)); f->fd = fd; diff --git a/entry.c b/entry.c index 874516e1..ded83103 100644 --- a/entry.c +++ b/entry.c @@ -12,10 +12,10 @@ static void create_directories(const char *path, struct checkout *state) len = slash - path; memcpy(buf, path, len); buf[len] = 0; - if (mkdir(buf, 0755)) { + if (mkdir(buf, 0777)) { if (errno == EEXIST) { struct stat st; - if (len > state->base_dir_len && state->force && !unlink(buf) && !mkdir(buf, 0755)) + if (len > state->base_dir_len && state->force && !unlink(buf) && !mkdir(buf, 0777)) continue; if (!stat(buf, &st) && S_ISDIR(st.st_mode)) continue; /* ok */ diff --git a/init-db.c b/init-db.c index 6990903b..c78c4951 100644 --- a/init-db.c +++ b/init-db.c @@ -7,7 +7,7 @@ static void safe_create_dir(const char *dir) { - if (mkdir(dir, 0755) < 0) { + if (mkdir(dir, 0777) < 0) { if (errno != EEXIST) { perror(dir); exit(1); diff --git a/receive-pack.c b/receive-pack.c index dfa7cd1d..1768c875 100644 --- a/receive-pack.c +++ b/receive-pack.c @@ -70,7 +70,7 @@ static void update(const char *name, unsigned char *old_sha1, unsigned char *new if (!has_sha1_file(new_sha1)) die("unpack should have generated %s, but I can't find it!", new_hex); - newfd = open(lock_name, O_CREAT | O_EXCL | O_WRONLY, 0644); + newfd = open(lock_name, O_CREAT | O_EXCL | O_WRONLY, 0666); if (newfd < 0) die("unable to create %s (%s)", lock_name, strerror(errno));