From 9b72a2e674f7cbc320b0b72fc71ad813d296ab12 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 22 Sep 2011 12:04:43 -0400 Subject: [PATCH] Updated to JGit 1.1.0 and reverse-sort library dependencies. --- src/com/gitblit/FederationServlet.java | 18 +++++++++++++++++- 1 files changed, 17 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/FederationServlet.java b/src/com/gitblit/FederationServlet.java index 86aadb0..a84e90c 100644 --- a/src/com/gitblit/FederationServlet.java +++ b/src/com/gitblit/FederationServlet.java @@ -225,6 +225,12 @@ Object result = null; if (FederationRequest.PULL_REPOSITORIES.equals(reqType)) { + // build a reverse-lookup for token->federation set name + Map<String, String> federationSets = new HashMap<String, String>(); + for (String set : GitBlit.getStrings(Keys.federation.sets)) { + federationSets.put(GitBlit.self().getFederationToken(set), set); + } + // Determine the Gitblit clone url StringBuilder sb = new StringBuilder(); sb.append(HttpUtils.getHostURL(request)); @@ -253,7 +259,17 @@ } break; } - repositories.put(url, model); + + if (federationSets.containsKey(token)) { + // include repositories only for federation set + String set = federationSets.get(token); + if (model.federationSets.contains(set)) { + repositories.put(url, model); + } + } else { + // standard federation token for ALL + repositories.put(url, model); + } } result = repositories; } else { -- Gitblit v1.9.1