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