From 30f9d25d77ccb5cd978d4cf8fa389ec819e90e95 Mon Sep 17 00:00:00 2001
From: Philip L. McMahon <philip.l.mcmahon@gmail.com>
Date: Fri, 27 Jan 2012 02:02:19 -0500
Subject: [PATCH] Correct update of HEAD symbolic reference when target is a tag.

---
 src/com/gitblit/models/RepositoryModel.java |   33 +++++++++++++++++++++++++++++++--
 1 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/src/com/gitblit/models/RepositoryModel.java b/src/com/gitblit/models/RepositoryModel.java
index 3863737..d3e9158 100644
--- a/src/com/gitblit/models/RepositoryModel.java
+++ b/src/com/gitblit/models/RepositoryModel.java
@@ -16,9 +16,13 @@
 package com.gitblit.models;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Date;
+import java.util.List;
 
 import com.gitblit.Constants.AccessRestrictionType;
+import com.gitblit.Constants.FederationStrategy;
+import com.gitblit.utils.StringUtils;
 
 /**
  * RepositoryModel is a serializable model class that represents a Gitblit
@@ -27,7 +31,7 @@
  * @author James Moger
  * 
  */
-public class RepositoryModel implements Serializable {
+public class RepositoryModel implements Serializable, Comparable<RepositoryModel> {
 
 	private static final long serialVersionUID = 1L;
 
@@ -43,7 +47,22 @@
 	public AccessRestrictionType accessRestriction;
 	public boolean isFrozen;
 	public boolean showReadme;
+	public FederationStrategy federationStrategy;
+	public List<String> federationSets;
+	public boolean isFederated;
+	public boolean skipSizeCalculation;
+	public boolean skipSummaryMetrics;
+	public String frequency;
+	public String origin;
+	public String size;
+	public List<String> preReceiveScripts;
+	public List<String> postReceiveScripts;
+	public List<String> mailingLists;
+	public RefModel defaultHead;
+	public List<RefModel> availableHeads;
 
+	private String displayName;
+	
 	public RepositoryModel() {
 		this("", "", "", new Date(0));
 	}
@@ -54,10 +73,20 @@
 		this.owner = owner;
 		this.lastChange = lastchange;
 		this.accessRestriction = AccessRestrictionType.NONE;
+		this.federationSets = new ArrayList<String>();
+		this.federationStrategy = FederationStrategy.FEDERATE_THIS;
 	}
 
 	@Override
 	public String toString() {
-		return name;
+		if (displayName == null) {
+			displayName = StringUtils.stripDotGit(name);
+		}
+		return displayName;
+	}
+
+	@Override
+	public int compareTo(RepositoryModel o) {
+		return StringUtils.compareRepositoryNames(name, o.name);
 	}
 }
\ No newline at end of file

--
Gitblit v1.9.1