From 557a1fa25a0a1d60bdb71ea3ad0e4e9a9cd9cc61 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Tue, 17 Sep 2013 17:39:10 -0400 Subject: [PATCH] Ignore the contents of a default .git/description file --- src/main/java/com/gitblit/models/UserModel.java | 23 +++++++++++++++++++---- 1 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gitblit/models/UserModel.java b/src/main/java/com/gitblit/models/UserModel.java index e4c659c..d785ae9 100644 --- a/src/main/java/com/gitblit/models/UserModel.java +++ b/src/main/java/com/gitblit/models/UserModel.java @@ -35,6 +35,7 @@ import com.gitblit.Constants.RegistrantType; import com.gitblit.Constants.Unused; import com.gitblit.utils.ArrayUtils; +import com.gitblit.utils.ModelUtils; import com.gitblit.utils.StringUtils; /** @@ -75,17 +76,21 @@ // non-persisted fields public boolean isAuthenticated; public AccountType accountType; + + public UserPreferences userPreferences; public UserModel(String username) { this.username = username; this.isAuthenticated = true; this.accountType = AccountType.LOCAL; + this.userPreferences = new UserPreferences(this.username); } private UserModel() { this.username = "$anonymous"; this.isAuthenticated = false; this.accountType = AccountType.LOCAL; + this.userPreferences = new UserPreferences(this.username); } public boolean isLocalAccount() { @@ -269,7 +274,13 @@ } public void setRepositoryPermission(String repository, AccessPermission permission) { - permissions.put(repository.toLowerCase(), permission); + if (permission == null) { + // remove the permission + permissions.remove(repository.toLowerCase()); + } else { + // set the new permission + permissions.put(repository.toLowerCase(), permission); + } } public RegistrantAccessPermission getRepositoryPermission(RepositoryModel repository) { @@ -557,7 +568,7 @@ } if (canCreate) { String projectPath = StringUtils.getFirstPathElement(repository); - if (!StringUtils.isEmpty(projectPath) && projectPath.equalsIgnoreCase("~" + username)) { + if (!StringUtils.isEmpty(projectPath) && projectPath.equalsIgnoreCase(getPersonalPath())) { // personal repository return true; } @@ -599,7 +610,11 @@ } public String getPersonalPath() { - return "~" + username; + return ModelUtils.getPersonalPath(username); + } + + public UserPreferences getPreferences() { + return userPreferences; } @Override @@ -661,6 +676,6 @@ public boolean isMyPersonalRepository(String repository) { String projectPath = StringUtils.getFirstPathElement(repository); - return !StringUtils.isEmpty(projectPath) && projectPath.equalsIgnoreCase("~" + username); + return !StringUtils.isEmpty(projectPath) && projectPath.equalsIgnoreCase(getPersonalPath()); } } -- Gitblit v1.9.1