tempfile.c: introduce 'create_tempfile_mode'
authorTaylor Blau <me@ttaylorr.com>
Mon, 27 Apr 2020 16:27:54 +0000 (10:27 -0600)
committerJunio C Hamano <gitster@pobox.com>
Mon, 27 Apr 2020 18:27:35 +0000 (11:27 -0700)
commitbef0413c3595acb469cc212792c12b7106048ddc
treead4b4ff03a2e9014e564eb46dd2ad860335b9cf4
parente870325ee8575d5c3d7afe0ba2c9be072c692b65
tempfile.c: introduce 'create_tempfile_mode'

In the next patch, 'hold_lock_file_for_update' will gain an additional
'mode' parameter to specify permissions for the associated temporary
file.

Since the lockfile.c machinery uses 'create_tempfile' which always
creates a temporary file with global read-write permissions, introduce a
variant here that allows specifying the mode.

Note that the mode given to 'create_tempfile_mode' is not guaranteed to
be written to disk, since it is subject to both the umask and
'core.sharedRepository'.

Arguably, all temporary files should have permission 0444, since they
are likely to be renamed into place and then not written to again. This
is a much larger change than we may want to take on in this otherwise
small patch, so for the time being, make 'create_tempfile' behave as it
has always done by inlining it to 'create_tempfile_mode' with mode set
to '0666'.

Signed-off-by: Taylor Blau <me@ttaylorr.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
tempfile.c
tempfile.h