From e4e68298c2f55c93dc2464e26a24b119a649e642 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 11 Jan 2013 23:53:32 -0500 Subject: [PATCH] Show indicators for Sparkleshared repositories --- src/com/gitblit/utils/JGitUtils.java | 24 ++++++++++++++++++++---- 1 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index 099036e..e112770 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -537,7 +537,7 @@ * @param path * @return content as a byte [] */ - public static byte[] getByteContent(Repository repository, RevTree tree, final String path) { + public static byte[] getByteContent(Repository repository, RevTree tree, final String path, boolean throwError) { RevWalk rw = new RevWalk(repository); TreeWalk tw = new TreeWalk(repository); tw.setFilter(PathFilterGroup.createFromStrings(Collections.singleton(path))); @@ -572,7 +572,9 @@ } } } catch (Throwable t) { - error(t, repository, "{0} can't find {1} in tree {2}", path, tree.name()); + if (throwError) { + error(t, repository, "{0} can't find {1} in tree {2}", path, tree.name()); + } } finally { rw.dispose(); tw.release(); @@ -591,7 +593,7 @@ * @return UTF-8 string content */ public static String getStringContent(Repository repository, RevTree tree, String blobPath, String... charsets) { - byte[] content = getByteContent(repository, tree, blobPath); + byte[] content = getByteContent(repository, tree, blobPath, true); if (content == null) { return null; } @@ -1584,7 +1586,7 @@ */ public static List<SubmoduleModel> getSubmodules(Repository repository, RevTree tree) { List<SubmoduleModel> list = new ArrayList<SubmoduleModel>(); - byte [] blob = getByteContent(repository, tree, ".gitmodules"); + byte [] blob = getByteContent(repository, tree, ".gitmodules", false); if (blob == null) { return list; } @@ -1734,4 +1736,18 @@ } return success; } + + /** + * Reads the sparkleshare id, if present, from the repository. + * + * @param repository + * @return an id or null + */ + public static String getSparkleshareId(Repository repository) { + byte[] content = getByteContent(repository, null, ".sparkleshare", false); + if (content == null) { + return null; + } + return StringUtils.decodeString(content); + } } -- Gitblit v1.9.1