/** * Calculates the next commit in the history. * * @return the next {@link RevCommit commit} in the history */ @Override protected RevCommit computeNext() { if (nextCommitId.isPresent()) { RevCommit commit = repo.getCommit(nextCommitId.get()); nextCommitId = commit.parentN(0); if (nextCommitId.isPresent() && !repo.commitExists(nextCommitId.get())) { nextCommitId = Optional.absent(); } return commit; } return endOfData(); }
/** * Calculates the next commit in the history. * * @return the next {@link RevCommit commit} in the history */ @Override protected RevCommit computeNext() { if (nextCommitId.isPresent()) { RevCommit commit = repo.getCommit(nextCommitId.get()); nextCommitId = commit.parentN(0); if (nextCommitId.isPresent() && !repo.commitExists(nextCommitId.get())) { nextCommitId = Optional.absent(); } return commit; } return endOfData(); }
private Optional<ObjectId> resolveParent(final ObjectId objectId, final int parentN) { checkNotNull(objectId); checkArgument(parentN > -1); if (objectId.isNull()) { return Optional.absent(); } if (parentN == 0) { // 0 == check id is a commit RevObject object = source.getIfPresent(objectId); checkArgument(object != null && object.getType() == TYPE.COMMIT, "%s is not a commit: %s", objectId, (object == null ? "null" : object.getType())); return Optional.of(objectId); } RevCommit commit = resolveCommit(objectId); if (parentN > commit.getParentIds().size()) { return Optional.absent(); } return commit.parentN(parentN - 1); }
private Optional<ObjectId> resolveParent(final ObjectId objectId, final int parentN) { checkNotNull(objectId); checkArgument(parentN > -1); if (objectId.isNull()) { return Optional.absent(); } if (parentN == 0) { // 0 == check id is a commit RevObject object = source.getIfPresent(objectId); checkArgument(object != null && object.getType() == TYPE.COMMIT, "%s is not a commit: %s", objectId, (object == null ? "null" : object.getType())); return Optional.of(objectId); } RevCommit commit = resolveCommit(objectId); if (parentN > commit.getParentIds().size()) { return Optional.absent(); } return commit.parentN(parentN - 1); }
.setOldVersion(commit.parentN(0).or(ObjectId.NULL)) .setNewVersion(commit.getId()).call()) { DiffEntry diffEntry;
.setOldVersion(commit.parentN(0).or(ObjectId.NULL)) .setNewVersion(commit.getId()).call()) { DiffEntry diffEntry;
.setOldVersion(commit.parentN(0).or(ObjectId.NULL)) .setNewVersion(commit.getId()).call()) { DiffEntry diffEntry;
final ObjectId parentId = commit.parentN(0).or(ObjectId.NULL); int adds = 0, deletes = 0, changes = 0; try (AutoCloseableIterator<DiffEntry> diff = geogig.command(DiffOp.class)
@Test public void testEmptyCommit() throws Exception { CommitOp commitCommand = geogig.command(CommitOp.class); RevCommit commit = commitCommand.setAllowEmpty(true).call(); assertNotNull(commit); assertNotNull(commit.getParentIds()); assertEquals(0, commit.getParentIds().size()); assertFalse(commit.parentN(0).isPresent()); assertNotNull(commit.getId()); ObjectId commitId = geogig.command(RevParse.class).setRefSpec(Ref.HEAD).call().get(); assertEquals(commit.getId(), commitId); }
@Test public void testEmptyCommit() throws Exception { CommitOp commitCommand = geogig.command(CommitOp.class); RevCommit commit = commitCommand.setAllowEmpty(true).call(); assertNotNull(commit); assertNotNull(commit.getParentIds()); assertEquals(0, commit.getParentIds().size()); assertFalse(commit.parentN(0).isPresent()); assertNotNull(commit.getId()); ObjectId commitId = geogig.command(RevParse.class).setRefSpec(Ref.HEAD).call().get(); assertEquals(commit.getId(), commitId); }
private void assertCommit(RevCommit commit, @Nullable ObjectId parentId, String author, String message) { assertNotNull(commit); assertEquals(parentId == null ? 0 : 1, commit.getParentIds().size()); assertEquals(parentId, commit.parentN(0).orNull()); assertNotNull(commit.getTreeId()); assertNotNull(commit.getId()); if (author != null) { assertEquals(author, commit.getAuthor().getName().get()); } if (message != null) { assertEquals(message, commit.getMessage()); } assertNotNull(repo.getTree(commit.getTreeId())); assertEquals(commit.getId(), getRepository().getRef(Ref.HEAD).get().getObjectId()); }
private void assertCommit(RevCommit commit, @Nullable ObjectId parentId, String author, String message) { assertNotNull(commit); assertEquals(parentId == null ? 0 : 1, commit.getParentIds().size()); assertEquals(parentId, commit.parentN(0).orNull()); assertNotNull(commit.getTreeId()); assertNotNull(commit.getId()); if (author != null) { assertEquals(author, commit.getAuthor().getName().get()); } if (message != null) { assertEquals(message, commit.getMessage()); } assertNotNull(repo.getTree(commit.getTreeId())); assertEquals(commit.getId(), getRepository().getRef(Ref.HEAD).get().getObjectId()); }
@Test public void testConstructorAndAccessors() { RevPerson committer = RevPersonBuilder.build("ksishmael", "kelsey.ishmael@lmnsolutions.com", 12345, 12345); RevPerson author = RevPersonBuilder.build("test", "test@email.com", 12345, 12345); ObjectId id = RevObjectTestSupport.hashString("new commit"); ObjectId treeId = RevObjectTestSupport.hashString("test tree"); String message = "This is a test commit"; ImmutableList<ObjectId> parentIds = ImmutableList .of(RevObjectTestSupport.hashString("Parent 1")); RevCommit commit = CommitBuilder.create(id, treeId, parentIds, author, committer, message); assertEquals(committer, commit.getCommitter()); assertEquals(author, commit.getAuthor()); assertEquals(id, commit.getId()); assertEquals(treeId, commit.getTreeId()); assertEquals(message, commit.getMessage()); assertEquals(parentIds, commit.getParentIds()); assertEquals(TYPE.COMMIT, commit.getType()); assertEquals(parentIds.get(0), commit.parentN(0).get()); parentIds = ImmutableList.of(); commit = CommitBuilder.create(id, treeId, parentIds, author, committer, message); assertEquals(Collections.EMPTY_LIST, commit.getParentIds()); assertEquals(Optional.absent(), commit.parentN(0)); }
final ObjectId parentId = commit.parentN(0).or(ObjectId.NULL);
@Test public void testParseHeadParentIndex() { // sanity check first assertEquals(mergeCommit.getId(), masterCommit4.getParentIds().get(0)); ObjectId expected; expected = masterCommit4.parentN(0).get(); assertParsed(expected, revParse("HEAD^")); assertParsed(expected, revParse("HEAD^1")); assertAbsent(revParse("HEAD^2")); assertParsed(masterCommit4, revParse("HEAD^0")); expected = mergeCommit.parentN(0).get(); assertParsed(expected, revParse("HEAD^^")); assertParsed(expected, revParse("HEAD^1^")); assertParsed(expected, revParse("HEAD^1^1")); expected = mergeCommit.parentN(1).get(); assertParsed(expected, revParse("HEAD^^2")); assertParsed(expected, revParse("HEAD^1^2")); assertParsed(branchCommit2, revParse("BRANCH")); assertParsed(branchCommit2, revParse("heads/BRANCH")); assertParsed(branchCommit2, revParse("refs/heads/BRANCH")); assertParsed(branchCommit1, revParse("BRANCH^")); assertParsed(branchCommit1, revParse("heads/BRANCH^")); assertParsed(branchCommit1, revParse("refs/heads/BRANCH^")); assertParsed(branchCommit1, revParse("BRANCH^1")); assertParsed(branchCommit1, revParse("heads/BRANCH^1")); assertParsed(branchCommit1, revParse("refs/heads/BRANCH^1")); }
@Test public void testParseHeadParentIndex() { // sanity check first assertEquals(mergeCommit.getId(), masterCommit4.getParentIds().get(0)); ObjectId expected; expected = masterCommit4.parentN(0).get(); assertParsed(expected, revParse("HEAD^")); assertParsed(expected, revParse("HEAD^1")); assertAbsent(revParse("HEAD^2")); assertParsed(masterCommit4, revParse("HEAD^0")); expected = mergeCommit.parentN(0).get(); assertParsed(expected, revParse("HEAD^^")); assertParsed(expected, revParse("HEAD^1^")); assertParsed(expected, revParse("HEAD^1^1")); expected = mergeCommit.parentN(1).get(); assertParsed(expected, revParse("HEAD^^2")); assertParsed(expected, revParse("HEAD^1^2")); assertParsed(branchCommit2, revParse("BRANCH")); assertParsed(branchCommit2, revParse("heads/BRANCH")); assertParsed(branchCommit2, revParse("refs/heads/BRANCH")); assertParsed(branchCommit1, revParse("BRANCH^")); assertParsed(branchCommit1, revParse("heads/BRANCH^")); assertParsed(branchCommit1, revParse("refs/heads/BRANCH^")); assertParsed(branchCommit1, revParse("BRANCH^1")); assertParsed(branchCommit1, revParse("heads/BRANCH^1")); assertParsed(branchCommit1, revParse("refs/heads/BRANCH^1")); }
assertNotNull(commit.getParentIds()); assertEquals(0, commit.getParentIds().size()); assertFalse(commit.parentN(0).isPresent()); assertNotNull(commit.getId()); assertEquals("groldan", commit.getAuthor().getName().get());
assertNotNull(commit.getParentIds()); assertEquals(0, commit.getParentIds().size()); assertFalse(commit.parentN(0).isPresent()); assertNotNull(commit.getId()); assertEquals("groldan", commit.getAuthor().getName().get());
assertNotNull(commit.getParentIds()); assertEquals(0, commit.getParentIds().size()); assertFalse(commit.parentN(0).isPresent()); assertNotNull(commit.getId()); assertEquals("John Doe", commit.getAuthor().getName().get());
assertNotNull(commit.getParentIds()); assertEquals(0, commit.getParentIds().size()); assertFalse(commit.parentN(0).isPresent()); assertNotNull(commit.getId()); assertEquals("John Doe", commit.getAuthor().getName().get());