From b724448b589d60a9a7dda60cf30741048c98e199 Mon Sep 17 00:00:00 2001 From: Florian Zschocke <florian.zschocke@cycos.com> Date: Mon, 26 Aug 2013 06:39:57 -0400 Subject: [PATCH] Fix set-gid bit clearing under Linux when effective gid is different from file gid. --- src/main/java/com/gitblit/models/TeamModel.java | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/gitblit/models/TeamModel.java b/src/main/java/com/gitblit/models/TeamModel.java index e0499f7..dfbd45d 100644 --- a/src/main/java/com/gitblit/models/TeamModel.java +++ b/src/main/java/com/gitblit/models/TeamModel.java @@ -186,8 +186,15 @@ } public void setRepositoryPermission(String repository, AccessPermission permission) { - permissions.put(repository.toLowerCase(), permission); - repositories.add(repository.toLowerCase()); + if (permission == null) { + // remove the permission + permissions.remove(repository.toLowerCase()); + repositories.remove(repository.toLowerCase()); + } else { + // set the new permission + permissions.put(repository.toLowerCase(), permission); + repositories.add(repository.toLowerCase()); + } } public RegistrantAccessPermission getRepositoryPermission(RepositoryModel repository) { -- Gitblit v1.9.1