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 | 23 ++++++++++++++++++++--- 1 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/FederationServlet.java b/src/com/gitblit/FederationServlet.java index b8b6408..a84e90c 100644 --- a/src/com/gitblit/FederationServlet.java +++ b/src/com/gitblit/FederationServlet.java @@ -117,9 +117,10 @@ return; } - String uuid = GitBlit.getString(Keys.federation.uuid, ""); + String uuid = GitBlit.getString(Keys.federation.passphrase, ""); if (StringUtils.isEmpty(uuid)) { - logger.warn(Keys.federation.uuid + " is not properly set! Federation request denied."); + logger.warn(Keys.federation.passphrase + + " is not properly set! Federation request denied."); response.sendError(HttpServletResponse.SC_FORBIDDEN); return; } @@ -224,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)); @@ -252,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