From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 05 Jan 2012 17:34:05 -0500
Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders

---
 src/com/gitblit/models/FederationModel.java |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/src/com/gitblit/models/FederationModel.java b/src/com/gitblit/models/FederationModel.java
index 6e608d8..61c8576 100644
--- a/src/com/gitblit/models/FederationModel.java
+++ b/src/com/gitblit/models/FederationModel.java
@@ -45,6 +45,8 @@
 	public String frequency;
 
 	public String folder;
+	
+	public boolean bare;
 
     public boolean mirror;
 
@@ -71,6 +73,8 @@
 	 */
 	public FederationModel(String serverName) {
 		this.name = serverName;
+		bare = true;
+		mirror = true;
 		this.lastPull = new Date(0);
 		this.nextPull = new Date(0);
 	}
@@ -136,7 +140,7 @@
 		if (results.size() == 0) {
 			return FederationPullStatus.PENDING;
 		}
-		FederationPullStatus status = FederationPullStatus.PULLED;
+		FederationPullStatus status = FederationPullStatus.MIRRORED;
 		for (FederationPullStatus result : results.values()) {
 			if (result.ordinal() < status.ordinal()) {
 				status = result;
@@ -194,22 +198,7 @@
 		@Override
 		public int compareTo(RepositoryStatus o) {
 			if (status.equals(o.status)) {
-				// sort root repositories first, alphabetically
-				// then sort grouped repositories, alphabetically
-				int s1 = name.indexOf('/');
-				int s2 = o.name.indexOf('/');
-				if (s1 == -1 && s2 == -1) {
-					// neither grouped
-					return name.compareTo(o.name);
-				} else if (s1 > -1 && s2 > -1) {
-					// both grouped
-					return name.compareTo(o.name);
-				} else if (s1 == -1) {
-					return -1;
-				} else if (s2 == -1) {
-					return 1;
-				}
-				return 0;
+				return StringUtils.compareRepositoryNames(name, o.name);
 			}
 			return status.compareTo(o.status);
 		}

--
Gitblit v1.9.1