From 17363c3957dab02bf8a5ab3a89dcace147c4f20e Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 10 Oct 2012 17:05:00 -0400 Subject: [PATCH] Fixed bug where repository ownership was not updated on rename user --- src/com/gitblit/GitBlit.java | 16 ++++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java index 8c6d9eb..bf9b1ed 100644 --- a/src/com/gitblit/GitBlit.java +++ b/src/com/gitblit/GitBlit.java @@ -642,6 +642,22 @@ "Failed to rename ''{0}'' because ''{1}'' already exists.", username, user.username)); } + + // rename repositories and owner fields for all repositories + for (RepositoryModel model : getRepositoryModels(user)) { + if (model.isUsersPersonalRepository(username)) { + // personal repository + model.owner = user.username; + String oldRepositoryName = model.name; + model.name = "~" + user.username + model.name.substring(model.projectPath.length()); + model.projectPath = "~" + user.username; + updateRepositoryModel(oldRepositoryName, model, false); + } else if (model.isOwner(username)) { + // common/shared repo + model.owner = user.username; + updateRepositoryModel(model.name, model, false); + } + } } if (!userService.updateUserModel(username, user)) { throw new GitBlitException(isCreate ? "Failed to add user!" : "Failed to update user!"); -- Gitblit v1.9.1