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