From: Petr Baudis Date: Thu, 10 Jul 2008 23:19:48 GMT Subject: [PATCH] Fix backwards-incompatible handling of core.sharedRepository Message-ID: <20080710231853.21448.18643.stgit@rover.dkm.cz> The 06cbe8550324e0fd2290839bf3b9a92aa53b70ab core.sharedRepository handling extension broke backwards compatibility; before, shared=1 meant that Git merely ensured the repository is group-writable, not that it's _only_ group-writable, which is the current behaviour. Maybe it makes sense to provide the current semantics in some way too, but that cannot be done at the expense of ditching backwards compatibility; this bug has just wasted me two hours and broke repo.or.cz pushing for several hours. Signed-off-by: Petr Baudis --- Sorry for the resend, StGIT kind of tricked me to adding two Cc headers and the first one just got dropped. path.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/path.c b/path.c index 5983255..75c5915 100644 --- a/path.c +++ b/path.c @@ -269,7 +269,7 @@ int adjust_shared_perm(const char *path) mode = st.st_mode; if (shared_repository) { - int tweak = shared_repository; + int tweak = (mode & 0777) | shared_repository; if (!(mode & S_IWUSR)) tweak &= ~0222; mode = (mode & ~0777) | tweak;