/** * Create a filter with two filters, both of which must match. * * @param a * first filter to test. * @param b * second filter to test. * @return a filter that must match both input filters. */ public static TreeFilter create(TreeFilter a, TreeFilter b) { if (a == ALL) return b; if (b == ALL) return a; return new Binary(a, b); }
/** * Create a filter around many filters, all of which must match. * * @param list * list of filters to match against. Must contain at least 2 * filters. * @return a filter that must match all input filters. */ public static TreeFilter create(TreeFilter[] list) { if (list.Length == 2) return create(list[0], list[1]); if (list.Length < 2) throw new ArgumentException("At least two filters needed."); TreeFilter[] subfilters = new TreeFilter[list.Length]; Array.Copy(list, 0, subfilters, 0, list.Length); return new List(subfilters); }
public override TreeFilter Clone() { TreeFilter[] s = new TreeFilter[subfilters.Length]; for (int i = 0; i < s.Length; i++) s[i] = subfilters[i].Clone(); return new List(s); }
public List(TreeFilter[] list) { subfilters = list; }
public Binary(TreeFilter one, TreeFilter two) { a = one; b = two; }
public RewriteTreeFilter(RevWalk walker, TreeFilter t) { _pathFilter = new TreeWalk.TreeWalk(walker.Repository); _pathFilter.setFilter(t); _pathFilter.Recursive = t.shouldBeRecursive(); }
public RewriteTreeFilter(RevWalk walker, TreeFilter t) { pathFilter = new TreeWalk.TreeWalk(walker.db); pathFilter.setFilter(t); pathFilter.setRecursive(t.shouldBeRecursive()); }