Search in sources :

Example 6 with Result

use of com.google.gitiles.RevisionParser.Result in project gitiles by GerritCodeReview.

the class RevisionParserTest method parseRef.

@Test
public void parseRef() throws Exception {
    RevCommit master = repo.branch("refs/heads/master").commit().create();
    assertThat(parser.parse("master")).isEqualTo(new Result(Revision.peeled("master", master)));
    assertThat(parser.parse("refs/heads/master")).isEqualTo(new Result(Revision.peeled("refs/heads/master", master)));
    assertThat(parser.parse("refs//heads//master")).isNull();
    assertThat(parser.parse("refs heads master")).isNull();
}
Also used : RevCommit(org.eclipse.jgit.revwalk.RevCommit) Result(com.google.gitiles.RevisionParser.Result) Test(org.junit.Test)

Example 7 with Result

use of com.google.gitiles.RevisionParser.Result in project gitiles by GerritCodeReview.

the class RevisionParserTest method parseNonVisibleCommitSha.

@Test
public void parseNonVisibleCommitSha() throws Exception {
    RevCommit other = repo.commit().create();
    repo.branch("master").commit().create();
    assertThat(parser.parse(other.name())).isNull();
    repo.branch("other").update(other);
    assertThat(parser.parse(other.name())).isEqualTo(new Result(Revision.peeled(other.name(), other)));
}
Also used : RevCommit(org.eclipse.jgit.revwalk.RevCommit) Result(com.google.gitiles.RevisionParser.Result) Test(org.junit.Test)

Example 8 with Result

use of com.google.gitiles.RevisionParser.Result in project gitiles by GerritCodeReview.

the class RevisionParserTest method parseRefParentExpression.

@Test
public void parseRefParentExpression() throws Exception {
    RevCommit root = repo.commit().create();
    RevCommit parent1 = repo.commit().parent(root).create();
    RevCommit parent2 = repo.commit().parent(root).create();
    RevCommit merge = repo.branch("master").commit().parent(parent1).parent(parent2).create();
    assertThat(parser.parse("master")).isEqualTo(new Result(Revision.peeled("master", merge)));
    assertThat(parser.parse("master^")).isEqualTo(new Result(Revision.peeled("master^", parent1)));
    assertThat(parser.parse("master~1")).isEqualTo(new Result(Revision.peeled("master~1", parent1)));
    assertThat(parser.parse("master^2")).isEqualTo(new Result(Revision.peeled("master^2", parent2)));
    assertThat(parser.parse("master^3")).isNull();
    assertThat(parser.parse("master~2")).isEqualTo(new Result(Revision.peeled("master~2", root)));
}
Also used : RevCommit(org.eclipse.jgit.revwalk.RevCommit) Result(com.google.gitiles.RevisionParser.Result) Test(org.junit.Test)

Example 9 with Result

use of com.google.gitiles.RevisionParser.Result in project gitiles by GerritCodeReview.

the class RevisionParserTest method parseCommitShaVisibleFromTag.

@Test
public void parseCommitShaVisibleFromTag() throws Exception {
    RevCommit parent = repo.commit().create();
    RevCommit commit = repo.commit().parent(parent).create();
    repo.branch("master").commit().create();
    repo.update("refs/tags/tag", repo.tag("tag", commit));
    assertThat(parser.parse(commit.name())).isEqualTo(new Result(Revision.peeled(commit.name(), commit)));
    assertThat(parser.parse(parent.name())).isEqualTo(new Result(Revision.peeled(parent.name(), parent)));
}
Also used : RevCommit(org.eclipse.jgit.revwalk.RevCommit) Result(com.google.gitiles.RevisionParser.Result) Test(org.junit.Test)

Example 10 with Result

use of com.google.gitiles.RevisionParser.Result in project gitiles by GerritCodeReview.

the class RevisionParserTest method parseDiffRevisions.

@Test
public void parseDiffRevisions() throws Exception {
    RevCommit parent = repo.commit().create();
    RevCommit commit = repo.branch("master").commit().parent(parent).create();
    RevCommit other = repo.branch("other").commit().create();
    assertThat(parser.parse("master^..master")).isEqualTo(new Result(Revision.peeled("master", commit), Revision.peeled("master^", parent), ""));
    assertThat(parser.parse("master^..master/")).isEqualTo(new Result(Revision.peeled("master", commit), Revision.peeled("master^", parent), "/"));
    assertThat(parser.parse("master^..master/path/to/a/file")).isEqualTo(new Result(Revision.peeled("master", commit), Revision.peeled("master^", parent), "/path/to/a/file"));
    assertThat(parser.parse("master^..master/path/to/a/..file")).isEqualTo(new Result(Revision.peeled("master", commit), Revision.peeled("master^", parent), "/path/to/a/..file"));
    assertThat(parser.parse("refs/heads/master^..refs/heads/master")).isEqualTo(new Result(Revision.peeled("refs/heads/master", commit), Revision.peeled("refs/heads/master^", parent), ""));
    assertThat(parser.parse("master~1..master")).isEqualTo(new Result(Revision.peeled("master", commit), Revision.peeled("master~1", parent), ""));
    // TODO(dborowitz): 2a2362fbb in JGit causes master~2 to resolve to master
    // rather than null. Uncomment when upstream regression is fixed.
    //assertThat(parser.parse("master~2..master")).isNull();
    assertThat(parser.parse("other..master")).isEqualTo(new Result(Revision.peeled("master", commit), Revision.peeled("other", other), ""));
}
Also used : RevCommit(org.eclipse.jgit.revwalk.RevCommit) Result(com.google.gitiles.RevisionParser.Result) Test(org.junit.Test)

Aggregations

Result (com.google.gitiles.RevisionParser.Result)11 RevCommit (org.eclipse.jgit.revwalk.RevCommit)11 Test (org.junit.Test)11 RevBlob (org.eclipse.jgit.revwalk.RevBlob)1 RevTag (org.eclipse.jgit.revwalk.RevTag)1