From a413ed7c41880cec3c224501dd2ed874fdbeef17 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 22 Nov 2015 14:53:36 -0500
Subject: [PATCH] Reset build identifiers for next point release cycle
---
src/main/java/com/gitblit/manager/RepositoryManager.java | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/main/java/com/gitblit/manager/RepositoryManager.java b/src/main/java/com/gitblit/manager/RepositoryManager.java
index c2c6088..e2e4de6 100644
--- a/src/main/java/com/gitblit/manager/RepositoryManager.java
+++ b/src/main/java/com/gitblit/manager/RepositoryManager.java
@@ -1113,9 +1113,16 @@
// find the root, cached
String key = getRepositoryKey(repository);
RepositoryModel model = repositoryListCache.get(key);
+ if (model == null) {
+ return null;
+ }
+
while (model.originRepository != null) {
String originKey = getRepositoryKey(model.originRepository);
model = repositoryListCache.get(originKey);
+ if (model == null) {
+ return null;
+ }
}
ForkModel root = getForkModelFromCache(model.name);
return root;
@@ -1347,7 +1354,7 @@
}
/**
- * Creates/updates the repository model keyed by reopsitoryName. Saves all
+ * Creates/updates the repository model keyed by repositoryName. Saves all
* repository settings in .git/config. This method allows for renaming
* repositories and will update user access permissions accordingly.
*
@@ -1375,6 +1382,7 @@
repository.name = repository.name.substring(projectPath.length() + 1);
}
}
+ boolean isRename = false;
if (isCreate) {
// ensure created repository name ends with .git
if (!repository.name.toLowerCase().endsWith(org.eclipse.jgit.lib.Constants.DOT_GIT_EXT)) {
@@ -1391,7 +1399,8 @@
r = JGitUtils.createRepository(repositoriesFolder, repository.name, shared);
} else {
// rename repository
- if (!repositoryName.equalsIgnoreCase(repository.name)) {
+ isRename = !repositoryName.equalsIgnoreCase(repository.name);
+ if (isRename) {
if (!repository.name.toLowerCase().endsWith(
org.eclipse.jgit.lib.Constants.DOT_GIT_EXT)) {
repository.name += org.eclipse.jgit.lib.Constants.DOT_GIT_EXT;
@@ -1511,6 +1520,14 @@
logger.error(String.format("failed to call plugin onCreation %s", repositoryName), t);
}
}
+ } else if (isRename && pluginManager != null) {
+ for (RepositoryLifeCycleListener listener : pluginManager.getExtensions(RepositoryLifeCycleListener.class)) {
+ try {
+ listener.onRename(repositoryName, repository);
+ } catch (Throwable t) {
+ logger.error(String.format("failed to call plugin onRename %s", repositoryName), t);
+ }
+ }
}
}
--
Gitblit v1.9.1