From 2cdb73b442169b48da1588ab7cfaac7256677a5e Mon Sep 17 00:00:00 2001
From: Philip L. McMahon <philip.l.mcmahon@gmail.com>
Date: Sat, 28 Jan 2012 13:57:39 -0500
Subject: [PATCH] RepositoryModel will use String rather than RefModel to track the current symbolic head and available heads.
---
src/com/gitblit/GitBlit.java | 13 ++++++-------
1 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/com/gitblit/GitBlit.java b/src/com/gitblit/GitBlit.java
index b6bf7bf..7216126 100644
--- a/src/com/gitblit/GitBlit.java
+++ b/src/com/gitblit/GitBlit.java
@@ -69,7 +69,6 @@
import com.gitblit.models.FederationProposal;
import com.gitblit.models.FederationSet;
import com.gitblit.models.Metric;
-import com.gitblit.models.RefModel;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.ServerSettings;
import com.gitblit.models.ServerStatus;
@@ -787,10 +786,8 @@
model.mailingLists = new ArrayList<String>(Arrays.asList(config.getStringList(
"gitblit", null, "mailingList")));
}
- model.defaultHead = JGitUtils.getDefaultHead(r);
- model.availableHeads = new ArrayList<RefModel>();
- model.availableHeads.addAll(JGitUtils.getLocalBranches(r, true, -1));
- model.availableHeads.addAll(JGitUtils.getTags(r, true, -1));
+ model.defaultHead = JGitUtils.getSymbolicHeadTarget(r);
+ model.availableHeads = JGitUtils.getAvailableHeadTargets(r);
r.close();
return model;
}
@@ -986,8 +983,10 @@
// update settings
if (r != null) {
updateConfiguration(r, repository);
- if (repository.defaultHead != null) {
- JGitUtils.setDefaultHead(r, repository.defaultHead.reference);
+ // only update symbolic head if it changes
+ if (!StringUtils.isEmpty(repository.defaultHead) &&
+ !repository.defaultHead.equals(JGitUtils.getSymbolicHeadTarget(r))) {
+ JGitUtils.setSymbolicHeadTarget(r, repository.defaultHead);
}
r.close();
}
--
Gitblit v1.9.1