1
2
3
4
5
6
7
8
9
10
11
12 package org.eclipse.jgit.treewalk.filter;
13
14 import org.eclipse.jgit.dircache.DirCacheEntry;
15 import org.eclipse.jgit.dircache.DirCacheIterator;
16 import org.eclipse.jgit.treewalk.TreeWalk;
17
18
19
20
21
22 public class SkipWorkTreeFilter extends TreeFilter {
23
24
25 private final int treeIdx;
26
27
28
29
30
31
32
33
34
35 public SkipWorkTreeFilter(int treeIdx) {
36 this.treeIdx = treeIdx;
37 }
38
39
40 @Override
41 public boolean include(TreeWalk walker) {
42 DirCacheIterator i = walker.getTree(treeIdx, DirCacheIterator.class);
43 if (i == null)
44 return true;
45
46 DirCacheEntry e = i.getDirCacheEntry();
47 return e == null || !e.isSkipWorkTree();
48 }
49
50
51 @Override
52 public boolean shouldBeRecursive() {
53 return false;
54 }
55
56
57 @Override
58 public TreeFilter clone() {
59 return this;
60 }
61
62
63 @SuppressWarnings("nls")
64 @Override
65 public String toString() {
66 return "SkipWorkTree(" + treeIdx + ")";
67 }
68 }