]> git.ipfire.org Git - thirdparty/git.git/commit - path.c
set_shared_perm(): sometimes we know what the final mode bits should look like
authorJunio C Hamano <gitster@pobox.com>
Sat, 28 Mar 2009 06:21:00 +0000 (23:21 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sat, 28 Mar 2009 15:02:15 +0000 (08:02 -0700)
commit17e61b82887fb71800b0fcd39ffe89ddf4d2492e
tree626d729d96b73a838f84059bd85cd975bd668003
parent3be1f18e1b15c28ac6c750ff1a42576fd981d0f5
set_shared_perm(): sometimes we know what the final mode bits should look like

adjust_shared_perm() first obtains the mode bits from lstat(2), expecting
to find what the result of applying user's umask is, and then tweaks it
as necessary.  When the file to be adjusted is created with mkstemp(3),
however, the mode thusly obtained does not have anything to do with user's
umask, and we would need to start from 0444 in such a case and there is no
point running lstat(2) for such a path.

This introduces a new API set_shared_perm() to bypass the lstat(2) and
instead force setting the mode bits to the desired value directly.
adjust_shared_perm() becomes a thin wrapper to the function.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
path.c
sha1_file.c