Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObject.java')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObject.java29
1 files changed, 29 insertions, 0 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObject.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObject.java
index dc688e0e72..21cdb18c38 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObject.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/synchronize/model/GitModelObject.java
@@ -9,14 +9,19 @@
package org.eclipse.egit.ui.internal.synchronize.model;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.PlatformObject;
import org.eclipse.egit.core.synchronize.dto.GitSynchronizeData;
import org.eclipse.jgit.errors.MissingObjectException;
+import org.eclipse.jgit.lib.ObjectId;
import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.treewalk.FileTreeIterator;
import org.eclipse.jgit.treewalk.TreeWalk;
+import org.eclipse.jgit.treewalk.filter.NotIgnoredFilter;
import org.eclipse.jgit.treewalk.filter.TreeFilter;
/**
@@ -110,4 +115,28 @@ public abstract class GitModelObject extends PlatformObject {
return tw;
}
+ /**
+ * Return list of not ignored children in root node.
+ *
+ * @param root
+ * @return list of not ignored nodes
+ * @throws IOException
+ */
+ protected List<String> getNotIgnoredNodes(ObjectId root) throws IOException {
+ Repository repo = getRepository();
+ List<String> resutl = new ArrayList<String>();
+
+ TreeWalk tw = new TreeWalk(repo);
+ tw.reset();
+ tw.addTree(root);
+
+ int ignoreNth = tw.addTree(new FileTreeIterator(repo));
+ tw.setFilter(new NotIgnoredFilter(ignoreNth));
+
+ while (tw.next())
+ resutl.add(tw.getNameString());
+
+ return resutl;
+ }
+
}

Back to the top