From f3ce6e80794ff3a234dbd8850c8501abda95cedb Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 11 Jul 2012 17:14:30 -0400 Subject: [PATCH] Fixes and adjustments to test suite --- src/com/gitblit/utils/JGitUtils.java | 22 ++++++++++++++-------- 1 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index f5ca5ef..ab5b655 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -20,7 +20,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import java.nio.charset.Charset; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; @@ -310,9 +309,14 @@ if (onlyBare && gitDir.getName().equals(".git")) { continue; } - // determine repository name relative to base path - String repository = FileUtils.getRelativePath(baseFile, file); - list.add(repository); + if (gitDir.equals(file) || gitDir.getParentFile().equals(file)) { + // determine repository name relative to base path + String repository = FileUtils.getRelativePath(baseFile, file); + list.add(repository); + } else if (searchSubfolders && file.canRead()) { + // look for repositories in subfolders + list.addAll(getRepositoryList(basePath, file, onlyBare, searchSubfolders)); + } } else if (searchSubfolders && file.canRead()) { // look for repositories in subfolders list.addAll(getRepositoryList(basePath, file, onlyBare, searchSubfolders)); @@ -543,14 +547,15 @@ * @param tree * if null, the RevTree from HEAD is assumed. * @param blobPath + * @param charsets optional * @return UTF-8 string content */ - public static String getStringContent(Repository repository, RevTree tree, String blobPath) { + public static String getStringContent(Repository repository, RevTree tree, String blobPath, String... charsets) { byte[] content = getByteContent(repository, tree, blobPath); if (content == null) { return null; } - return new String(content, Charset.forName(Constants.CHARACTER_ENCODING)); + return StringUtils.decodeString(content, charsets); } /** @@ -589,14 +594,15 @@ * * @param repository * @param objectId + * @param charsets optional * @return UTF-8 string content */ - public static String getStringContent(Repository repository, String objectId) { + public static String getStringContent(Repository repository, String objectId, String... charsets) { byte[] content = getByteContent(repository, objectId); if (content == null) { return null; } - return new String(content, Charset.forName(Constants.CHARACTER_ENCODING)); + return StringUtils.decodeString(content, charsets); } /** -- Gitblit v1.9.1