Code

Introduce core.sharedrepository
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>
Thu, 22 Dec 2005 22:13:56 +0000 (23:13 +0100)
committerJunio C Hamano <junkio@cox.net>
Sat, 24 Dec 2005 08:21:10 +0000 (00:21 -0800)
commit457f06d68e427bbf4f1a921877441a622a05e5c4
treef99c40b9328464d6f1ae4f5a386c64e8b5a0d51d
parent2414721b194453f058079d897d13c4e377f92dc6
Introduce core.sharedrepository

If the config variable 'core.sharedrepository' is set, the directories

$GIT_DIR/objects/
$GIT_DIR/objects/??
$GIT_DIR/objects/pack
$GIT_DIR/refs
$GIT_DIR/refs/heads
$GIT_DIR/refs/heads/tags

are set group writable (and g+s, since the git group may be not the primary
group of all users).

Since all files are written as lock files first, and then moved to
their destination, they do not have to be group writable.  Indeed, if
this leads to problems you found a bug.

Note that -- as in my first attempt -- the config variable is set in the
function which checks the repository format. If this were done in
git_default_config instead, a lot of programs would need to be modified
to call git_config(git_default_config) first.

[jc: git variables should be in environment.c unless there is a
 compelling reason to do otherwise.]

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
cache.h
environment.c
setup.c
sha1_file.c