From 0fe70c1cf434f492286e01e8528322134a10281a Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sat, 18 Jun 2011 09:39:01 -0400 Subject: [PATCH] Override settings from command-line. --- src/com/gitblit/utils/JGitUtils.java | 30 ++++++++++++------------------ 1 files changed, 12 insertions(+), 18 deletions(-) diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index f6d7108..5656efb 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -96,7 +96,8 @@ return r.toString().trim(); } - public static FetchResult cloneRepository(File repositoriesFolder, String name, String fromUrl) throws Exception { + public static FetchResult cloneRepository(File repositoriesFolder, String name, String fromUrl) + throws Exception { FetchResult result = null; if (!name.toLowerCase().endsWith(Constants.DOT_GIT_EXT)) { name += Constants.DOT_GIT_EXT; @@ -401,36 +402,30 @@ public static List<PathChangeModel> getFilesInCommit(Repository r, RevCommit commit) { List<PathChangeModel> list = new ArrayList<PathChangeModel>(); - RevWalk rw = new RevWalk(r); - TreeWalk tw = new TreeWalk(r); + RevWalk rw = new RevWalk(r); try { if (commit == null) { ObjectId object = r.resolve(Constants.HEAD); commit = rw.parseCommit(object); - } - RevTree commitTree = commit.getTree(); + } - tw.reset(); - tw.setRecursive(true); if (commit.getParentCount() == 0) { - tw.addTree(commitTree); + TreeWalk tw = new TreeWalk(r); + tw.reset(); + tw.setRecursive(true); + tw.addTree(commit.getTree()); while (tw.next()) { list.add(new PathChangeModel(tw.getPathString(), tw.getPathString(), 0, tw .getRawMode(0), commit.getId().getName(), ChangeType.ADD)); } + tw.release(); } else { RevCommit parent = rw.parseCommit(commit.getParent(0).getId()); - RevTree parentTree = parent.getTree(); - tw.addTree(parentTree); - tw.addTree(commitTree); - tw.setFilter(TreeFilter.ANY_DIFF); - - RawTextComparator cmp = RawTextComparator.DEFAULT; DiffFormatter df = new DiffFormatter(DisabledOutputStream.INSTANCE); df.setRepository(r); - df.setDiffComparator(cmp); + df.setDiffComparator(RawTextComparator.DEFAULT); df.setDetectRenames(true); - List<DiffEntry> diffs = df.scan(parentTree, commitTree); + List<DiffEntry> diffs = df.scan(parent.getTree(), commit.getTree()); for (DiffEntry diff : diffs) { if (diff.getChangeType().equals(ChangeType.DELETE)) { list.add(new PathChangeModel(diff.getOldPath(), diff.getOldPath(), 0, diff @@ -446,8 +441,7 @@ } catch (Throwable t) { LOGGER.error("failed to determine files in commit!", t); } finally { - rw.dispose(); - tw.release(); + rw.dispose(); } return list; } -- Gitblit v1.9.1