From 90b8d7e0e1b5e5ed296c1213168b9a8937ac66fd Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 02 Feb 2012 20:02:40 -0500
Subject: [PATCH] Refactored and unit tested updating HEAD feature
---
src/com/gitblit/GitBlit.java | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index 9712ea6..a689b48 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -786,8 +786,8 @@
model.mailingLists = new ArrayList<String>(Arrays.asList(config.getStringList(
"gitblit", null, "mailingList")));
}
- model.defaultHead = JGitUtils.getSymbolicHeadTarget(r);
- model.availableHeads = JGitUtils.getAvailableHeadTargets(r);
+ model.HEAD = JGitUtils.getHEADRef(r);
+ model.availableRefs = JGitUtils.getAvailableHeadTargets(r);
r.close();
return model;
}
@@ -984,15 +984,14 @@
if (r != null) {
updateConfiguration(r, repository);
// only update symbolic head if it changes
- String currentHead = JGitUtils.getSymbolicHeadTarget(r);
- if (!StringUtils.isEmpty(repository.defaultHead) &&
- !repository.defaultHead.equals(currentHead)) {
+ String currentRef = JGitUtils.getHEADRef(r);
+ if (!StringUtils.isEmpty(repository.HEAD) && !repository.HEAD.equals(currentRef)) {
logger.info(MessageFormat.format("Relinking {0} HEAD from {1} to {2}",
- repository.name, currentHead, repository.defaultHead));
- JGitUtils.setSymbolicHeadTarget(r, repository.defaultHead);
-
- // clear the cache
- clearRepositoryCache(repository.name);
+ repository.name, currentRef, repository.HEAD));
+ if (JGitUtils.setHEADtoRef(r, repository.HEAD)) {
+ // clear the cache
+ clearRepositoryCache(repository.name);
+ }
}
// close the repository object
--
Gitblit v1.9.1