diff options
author | Johan Herland <johan@herland.net> | 2009-03-26 16:16:47 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-03-27 22:10:58 -0700 |
commit | fb8b193670b0c11d118185332efc899d6d01d5f4 (patch) | |
tree | 1d25d46394067edd7833aeb70e714ebcbe6389c7 /sha1_file.c | |
parent | "core.sharedrepository = 0mode" should set, not loosen (diff) | |
download | tgif-fb8b193670b0c11d118185332efc899d6d01d5f4.tar.xz |
Move chmod(foo, 0444) into move_temp_to_file()
When writing out a loose object or a pack (index), move_temp_to_file() is
called to finalize the resulting file. These files (loose files and packs)
should all have permission mode 0444 (modulo adjust_shared_perm()).
Therefore, instead of doing chmod(foo, 0444) explicitly from each callsite
(or even forgetting to chmod() at all), do the chmod() call from within
move_temp_to_file().
Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'sha1_file.c')
-rw-r--r-- | sha1_file.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sha1_file.c b/sha1_file.c index 45987bdea8..3bd20e715b 100644 --- a/sha1_file.c +++ b/sha1_file.c @@ -2279,7 +2279,7 @@ int move_temp_to_file(const char *tmpfile, const char *filename) /* FIXME!!! Collision check here ? */ } - if (adjust_shared_perm(filename)) + if (chmod(filename, 0444) || adjust_shared_perm(filename)) return error("unable to set permission to '%s'", filename); return 0; } @@ -2305,7 +2305,6 @@ static void close_sha1_file(int fd) { if (fsync_object_files) fsync_or_die(fd, "sha1 file"); - fchmod(fd, 0444); if (close(fd) != 0) die("error when closing sha1 file (%s)", strerror(errno)); } |