aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst/org/eclipse
diff options
context:
space:
mode:
authorOliver Lockwood <oliver.lockwood@cantab.net>2017-06-16 15:28:26 +0100
committerMatthias Sohn <matthias.sohn@sap.com>2017-06-20 00:23:26 +0200
commitaf0867cb86a3b10ab3851245fb148a817201e6ca (patch)
tree2209e4d4807a11668e6300dbe9e4bf24b1b99c8d /org.eclipse.jgit.test/tst/org/eclipse
parentdf638e0cfc628469eee9a91df5b2b65634e274d7 (diff)
downloadjgit-af0867cb86a3b10ab3851245fb148a817201e6ca.tar.gz
jgit-af0867cb86a3b10ab3851245fb148a817201e6ca.zip
Support --match functionality in DescribeCommand
A `match()` method has been added to the DescribeCommand, allowing users to specify one or more `glob(7)` matchers as per Git convention. Bug: 518377 Change-Id: Ib4cf34ce58128eed0334adf6c4a052dbea62c601 Signed-off-by: Oliver Lockwood <oliver.lockwood@cantab.net> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.jgit.test/tst/org/eclipse')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/api/DescribeCommandTest.java36
1 files changed, 28 insertions, 8 deletions
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/DescribeCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/DescribeCommandTest.java
index 1e5d3bc30e..ff9ae596c9 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/DescribeCommandTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/DescribeCommandTest.java
@@ -54,6 +54,7 @@ import java.util.Collection;
import org.eclipse.jgit.api.errors.GitAPIException;
import org.eclipse.jgit.api.errors.RefNotFoundException;
+import org.eclipse.jgit.errors.InvalidPatternException;
import org.eclipse.jgit.junit.RepositoryTestCase;
import org.eclipse.jgit.lib.ObjectId;
import org.junit.Test;
@@ -92,26 +93,41 @@ public class DescribeCommandTest extends RepositoryTestCase {
ObjectId c1 = modify("aaa");
ObjectId c2 = modify("bbb");
- tag("t1");
+ tag("alice-t1");
ObjectId c3 = modify("ccc");
- tag("t2");
+ tag("bob-t2");
ObjectId c4 = modify("ddd");
assertNull(describe(c1));
assertNull(describe(c1, true));
- assertEquals("t1", describe(c2));
- assertEquals("t2", describe(c3));
- assertEquals("t2-0-g44579eb", describe(c3, true));
+ assertNull(describe(c1, "a*", "b*", "c*"));
+
+ assertEquals("alice-t1", describe(c2));
+ assertEquals("alice-t1", describe(c2, "alice*"));
+ assertNull(describe(c2, "bob*"));
+ assertNull(describe(c2, "?ob*"));
+ assertEquals("alice-t1", describe(c2, "a*", "b*", "c*"));
+
+ assertEquals("bob-t2", describe(c3));
+ assertEquals("bob-t2-0-g44579eb", describe(c3, true));
+ assertEquals("alice-t1-1-g44579eb", describe(c3, "alice*"));
+ assertEquals("alice-t1-1-g44579eb", describe(c3, "a??c?-t*"));
+ assertEquals("bob-t2", describe(c3, "bob*"));
+ assertEquals("bob-t2", describe(c3, "?ob*"));
+ assertEquals("bob-t2", describe(c3, "a*", "b*", "c*"));
assertNameStartsWith(c4, "3e563c5");
// the value verified with git-describe(1)
- assertEquals("t2-1-g3e563c5", describe(c4));
- assertEquals("t2-1-g3e563c5", describe(c4, true));
+ assertEquals("bob-t2-1-g3e563c5", describe(c4));
+ assertEquals("bob-t2-1-g3e563c5", describe(c4, true));
+ assertEquals("alice-t1-2-g3e563c5", describe(c4, "alice*"));
+ assertEquals("bob-t2-1-g3e563c5", describe(c4, "bob*"));
+ assertEquals("bob-t2-1-g3e563c5", describe(c4, "a*", "b*", "c*"));
// test default target
- assertEquals("t2-1-g3e563c5", git.describe().call());
+ assertEquals("bob-t2-1-g3e563c5", git.describe().call());
}
/**
@@ -271,6 +287,10 @@ public class DescribeCommandTest extends RepositoryTestCase {
return describe(c1, false);
}
+ private String describe(ObjectId c1, String... patterns) throws GitAPIException, IOException, InvalidPatternException {
+ return git.describe().setTarget(c1).setMatch(patterns).call();
+ }
+
private static void assertNameStartsWith(ObjectId c4, String prefix) {
assertTrue(c4.name(), c4.name().startsWith(prefix));
}