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();
}
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)));
}
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)));
}
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)));
}
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), ""));
}