From c1a4cc7028954084019a7863085fa5d01aeafa9a Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 27 Dec 2011 17:31:03 -0500
Subject: [PATCH] fixed renaming a repository into a new subfolder failed (issue 33)
---
src/com/gitblit/GitBlit.java | 5 +++++
docs/04_releases.mkd | 1 +
2 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/docs/04_releases.mkd b/docs/04_releases.mkd
index ae2821d..e03089f 100644
--- a/docs/04_releases.mkd
+++ b/docs/04_releases.mkd
@@ -29,6 +29,7 @@
- added: filters menu to repositories page and activity page. You can filter by federation set, team, and simple custom regular expressions (issue 27)
**New:** *web.customFilters=*
- fixed: several a bugs in FileUserService related to cleaning up old repository permissions on a rename or delete
+- fixed: renaming a repository into a new subfolder failed (issue 33)
- added: optional flash-based 1-step *copy to clipboard* of the primary repository url
- added: javascript-based 3-step (click, ctrl+c, enter) *copy to clipboard* of the primary repository url
**New:** *web.allowFlashCopyToClipboard = true*
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index a62d4e4..a468060 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -905,6 +905,11 @@
.format("Can not rename repository ''{0}'' to ''{1}'' because ''{1}'' already exists.",
repositoryName, repository.name));
}
+ File parentFile = destFolder.getParentFile();
+ if (!parentFile.exists() && !parentFile.mkdirs()) {
+ throw new GitBlitException(MessageFormat.format(
+ "Failed to create folder ''{0}''", parentFile.getAbsolutePath()));
+ }
if (!folder.renameTo(destFolder)) {
throw new GitBlitException(MessageFormat.format(
"Failed to rename repository ''{0}'' to ''{1}''.", repositoryName,
--
Gitblit v1.9.1