mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-02 19:45:51 +01:00
added tree filter
This commit is contained in:
@@ -42,6 +42,10 @@ import org.eclipse.jgit.revwalk.RevTree;
|
|||||||
import org.eclipse.jgit.revwalk.RevWalk;
|
import org.eclipse.jgit.revwalk.RevWalk;
|
||||||
import org.eclipse.jgit.treewalk.EmptyTreeIterator;
|
import org.eclipse.jgit.treewalk.EmptyTreeIterator;
|
||||||
import org.eclipse.jgit.treewalk.TreeWalk;
|
import org.eclipse.jgit.treewalk.TreeWalk;
|
||||||
|
import org.eclipse.jgit.treewalk.filter.PathFilter;
|
||||||
|
import org.eclipse.jgit.treewalk.filter.TreeFilter;
|
||||||
|
|
||||||
|
import sonia.scm.util.Util;
|
||||||
|
|
||||||
//~--- JDK imports ------------------------------------------------------------
|
//~--- JDK imports ------------------------------------------------------------
|
||||||
|
|
||||||
@@ -106,8 +110,6 @@ public class GitDiffViewer implements DiffViewer
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
// TODO set path if is set
|
|
||||||
walk = new RevWalk(gr);
|
walk = new RevWalk(gr);
|
||||||
|
|
||||||
RevCommit commit = walk.parseCommit(gr.resolve(revision));
|
RevCommit commit = walk.parseCommit(gr.resolve(revision));
|
||||||
@@ -118,6 +120,11 @@ public class GitDiffViewer implements DiffViewer
|
|||||||
treeWalk.reset();
|
treeWalk.reset();
|
||||||
treeWalk.setRecursive(true);
|
treeWalk.setRecursive(true);
|
||||||
|
|
||||||
|
if (Util.isNotEmpty(path))
|
||||||
|
{
|
||||||
|
treeWalk.setFilter(PathFilter.create(path));
|
||||||
|
}
|
||||||
|
|
||||||
if (commit.getParentCount() > 0)
|
if (commit.getParentCount() > 0)
|
||||||
{
|
{
|
||||||
RevTree tree = commit.getParent(0).getTree();
|
RevTree tree = commit.getParent(0).getTree();
|
||||||
|
|||||||
Reference in New Issue
Block a user