From 2c60de580f6452365a6f25c998b7dd1ca68f7181 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 05 Oct 2012 18:00:24 -0400
Subject: [PATCH] Fixed bug in create/rename repository if the root group alias is specified (issue 143)

---
 src/com/gitblit/GitBlit.java |    7 +++++++
 docs/04_releases.mkd         |    1 +
 2 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd
index 3336234..ad7a993 100644
--- a/docs/04_releases.mkd
+++ b/docs/04_releases.mkd
@@ -11,6 +11,7 @@
 
 #### fixes
 
+- Fixed bug in create/rename repository if you explicitly specified the alias for the root group (e.g. main/myrepo) (issue 143)
 - Wrapped Markdown parser with improved exception handler (issue 142)
 - Fixed duplicate entries in repository cache (issue 140)
 - Fixed connection leak in LDAPUserService (issue 139)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index e945fa0..7fbd3ef 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -1547,6 +1547,13 @@
 	public void updateRepositoryModel(String repositoryName, RepositoryModel repository,
 			boolean isCreate) throws GitBlitException {
 		Repository r = null;
+		String projectPath = StringUtils.getFirstPathElement(repository.name);
+		if (!StringUtils.isEmpty(projectPath)) {
+			if (projectPath.equalsIgnoreCase(getString(Keys.web.repositoryRootGroupName, "main"))) {
+				// strip leading group name
+				repository.name = repository.name.substring(projectPath.length() + 1);
+			}
+		}
 		if (isCreate) {
 			// ensure created repository name ends with .git
 			if (!repository.name.toLowerCase().endsWith(org.eclipse.jgit.lib.Constants.DOT_GIT_EXT)) {

--
Gitblit v1.9.1