From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Shawn O. Pearce" Subject: [JGIT PATCH 03/11] Don't retry ".git" suffix in daemon if already tried Date: Sat, 11 Jul 2009 13:19:18 -0700 Message-ID: <1247343566-19025-4-git-send-email-spearce@spearce.org> References: <1247343566-19025-1-git-send-email-spearce@spearce.org> <1247343566-19025-2-git-send-email-spearce@spearce.org> <1247343566-19025-3-git-send-email-spearce@spearce.org> Cc: git@vger.kernel.org To: Robin Rosenberg X-From: git-owner@vger.kernel.org Sat Jul 11 22:19:49 2009 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1MPj2y-0003MO-Lb for gcvg-git-2@gmane.org; Sat, 11 Jul 2009 22:19:49 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750858AbZGKUTo (ORCPT ); Sat, 11 Jul 2009 16:19:44 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750729AbZGKUTg (ORCPT ); Sat, 11 Jul 2009 16:19:36 -0400 Received: from george.spearce.org ([209.20.77.23]:39697 "EHLO george.spearce.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750706AbZGKUT3 (ORCPT ); Sat, 11 Jul 2009 16:19:29 -0400 Received: by george.spearce.org (Postfix, from userid 1000) id A97CF38221; Sat, 11 Jul 2009 20:19:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.2.4 (2008-01-01) on george.spearce.org X-Spam-Level: X-Spam-Status: No, score=-4.4 required=4.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham version=3.2.4 Received: from localhost.localdomain (localhost [127.0.0.1]) by george.spearce.org (Postfix) with ESMTP id EBC4E381D2; Sat, 11 Jul 2009 20:19:27 +0000 (UTC) X-Mailer: git-send-email 1.6.4.rc0.117.g28cb In-Reply-To: <1247343566-19025-3-git-send-email-spearce@spearce.org> Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: If the name we already tried ended in ".git", don't append ".git" (creating "foo.git.git") and search the map again. Instead the names are normalized to always end with ".git", and ".git" is put on the end if it is not present in the user request. Signed-off-by: Shawn O. Pearce --- .../src/org/spearce/jgit/transport/Daemon.java | 10 ++++------ 1 files changed, 4 insertions(+), 6 deletions(-) diff --git a/org.spearce.jgit/src/org/spearce/jgit/transport/Daemon.java b/org.spearce.jgit/src/org/spearce/jgit/transport/Daemon.java index 7b4c138..f55e049 100644 --- a/org.spearce.jgit/src/org/spearce/jgit/transport/Daemon.java +++ b/org.spearce.jgit/src/org/spearce/jgit/transport/Daemon.java @@ -195,7 +195,9 @@ public void setExportAll(final boolean export) { * @param db * the repository instance. */ - public void exportRepository(final String name, final Repository db) { + public void exportRepository(String name, final Repository db) { + if (!name.endsWith(".git")) + name = name + ".git"; exports.put(name, db); } @@ -347,11 +349,7 @@ Repository openRepository(String name) { name = name.substring(1); Repository db; - db = exports.get(name); - if (db != null) - return db; - - db = exports.get(name + ".git"); + db = exports.get(name.endsWith(".git") ? name : name + ".git"); if (db != null) return db; -- 1.6.4.rc0.117.g28cb