public @Override void findSuccessors(final Object object, final List<Object> successors, ObjectStore database) { if (object instanceof RevCommit) { final RevCommit commit = (RevCommit) object; Iterator<RevCommit> parents = database.getAll(commit.getParentIds(), NOOP_LISTENER, RevCommit.class); parents.forEachRemaining((o) -> successors.add(o)); } }
@Override public void callback(Supplier<RevObject> supplier) { RevObject object = supplier.get(); progress.setProgress(progress.getProgress() + 1); if (object instanceof RevCommit) { RevCommit commit = (RevCommit) object; toSend.remove(commit.getId()); roots.removeAll(commit.getParentIds()); roots.add(commit.getId()); } } };
@Override protected FilteredDiffIterator getFilteredChanges(final Repository local, RevCommit commit) { ObjectId parent = ObjectId.NULL; if (commit.getParentIds().size() > 0) { parent = commit.getParentIds().get(0); } AutoCloseableIterator<DiffEntry> changes = remoteRepo.command(DiffOp.class) .setNewVersion(commit.getId()).setOldVersion(parent).setReportTrees(true).call(); Optional<RepositoryFilter> filter = RepositoryImpl.getFilter(local); checkState(filter.isPresent(), "No filter found for sparse clone."); return new LocalFilteredDiffIterator(changes, remoteRepo, local, filter.get()); }
@Override protected FilteredDiffIterator getFilteredChanges(final Repository local, RevCommit commit) { ObjectId parent = ObjectId.NULL; if (commit.getParentIds().size() > 0) { parent = commit.getParentIds().get(0); } AutoCloseableIterator<DiffEntry> changes = remoteRepo.command(DiffOp.class) .setNewVersion(commit.getId()).setOldVersion(parent).setReportTrees(true).call(); Optional<RepositoryFilter> filter = RepositoryImpl.getFilter(local); checkState(filter.isPresent(), "No filter found for sparse clone."); return new LocalFilteredDiffIterator(changes, remoteRepo, local, filter.get()); }
public static String toString(@NonNull RevCommit c) { return String.format("%s(%s)[tree:%s, parents:%s, msg:%s, author:%s, committer:%s]", c.getClass().getSimpleName(), // toShortString(c.getId()), // toShortString(c.getTreeId()), // c.getParentIds().stream().map(RevObjects::toShortString) .collect(Collectors.toList()), // c.getMessage(), // toShortString(c.getAuthor()), // toShortString(c.getCommitter())); }
public void writeCommit(RevCommit commit, DataOutput data) throws IOException { data.write(commit.getTreeId().getRawValue()); final int nParents = commit.getParentIds().size(); writeUnsignedVarInt(nParents, data); for (ObjectId pId : commit.getParentIds()) { data.write(pId.getRawValue()); } writePerson(commit.getAuthor(), data); writePerson(commit.getCommitter(), data); data.writeUTF(commit.getMessage()); }
private int write(@NonNull RevCommit c, @NonNull FlatBufferBuilder builder) { return writeCommit(builder, c.getTreeId(), c.getParentIds(), c.getAuthor(), c.getCommitter(), c.getMessage()); }
public void writeCommit(RevCommit commit, DataOutput data) throws IOException { commit.getTreeId().writeTo(data); final int nParents = commit.getParentIds().size(); writeUnsignedVarInt(nParents, data); for (ObjectId pId : commit.getParentIds()) { pId.writeTo(data); } writePerson(commit.getAuthor(), data); writePerson(commit.getCommitter(), data); data.writeUTF(commit.getMessage()); }
@Override public void funnel(RevCommit from, PrimitiveSink into) { funnel(into, from.getTreeId(), from.getParentIds(), from.getMessage(), from.getAuthor(), from.getCommitter()); }
/** * Overrides to add graphdb commit to parents mappings on commits */ public @Override boolean put(final RevObject object) { final boolean added = super.put(object); if (added && TYPE.COMMIT.equals(object.getType())) { RevCommit c = (RevCommit) object; graph.put(c.getId(), c.getParentIds()); } return added; }
/** * Overrides to add graphdb commit to parents mappings on commits */ public @Override boolean put(final RevObject object) { final boolean added = super.put(object); if (added && TYPE.COMMIT.equals(object.getType())) { RevCommit c = (RevCommit) object; graph.put(c.getId(), c.getParentIds()); } return added; }
/** * Overrides to add graphdb mapping on commits */ public @Override boolean put(final RevObject object) { final boolean added = super.put(object); if (added && TYPE.COMMIT.equals(object.getType())) { RevCommit c = (RevCommit) object; graph.put(c.getId(), c.getParentIds()); } return added; }
@Override public void funnel(RevCommit from, PrimitiveSink into) { funnel(into, from.getTreeId(), from.getParentIds(), from.getMessage(), from.getAuthor(), from.getCommitter()); }
/** * Overrides to add graphdb mapping on commits */ public @Override boolean put(final RevObject object) { final boolean added = super.put(object); if (added && TYPE.COMMIT.equals(object.getType())) { RevCommit c = (RevCommit) object; graph.put(c.getId(), c.getParentIds()); } return added; }
public TestData mergeNoFF(String branchToMerge, String mergeCommitMessage) { ObjectId branchHead = getContext().command(RefParse.class).setName(branchToMerge).call() .get().getObjectId(); MergeReport report = getContext().command(MergeOp.class).setNoFastForward(true) .setMessage(mergeCommitMessage).addCommit(branchHead).call(); RevCommit mergeCommit = report.getMergeCommit(); checkState(mergeCommit.getParentIds().size() == 2); LOG.debug(mergeCommit.toString()); return this; }
public TestData mergeNoFF(String branchToMerge, String mergeCommitMessage) { ObjectId branchHead = getContext().command(RefParse.class).setName(branchToMerge).call() .get().getObjectId(); MergeReport report = getContext().command(MergeOp.class).setNoFastForward(true) .setMessage(mergeCommitMessage).addCommit(branchHead).call(); RevCommit mergeCommit = report.getMergeCommit(); checkState(mergeCommit.getParentIds().size() == 2); LOG.debug(mergeCommit.toString()); return this; }
@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); }
public @Override boolean put(RevObject object) { final boolean added = super.put(object); if (added && TYPE.COMMIT.equals(object.getType())) { try { RevCommit c = (RevCommit) object; graph.put(c.getId(), c.getParentIds()); } catch (RuntimeException e) { super.delete(object.getId()); throw e; } } return added; }
public static void deepEquals(@NonNull RevCommit expected, @NonNull RevCommit actual) { assertEquals(TYPE.COMMIT, actual.getType()); assertEquals(expected.getId(), actual.getId()); assertEquals(expected.getCommitter(), actual.getCommitter()); assertEquals(expected.getAuthor(), actual.getAuthor()); assertEquals(expected.getMessage(), actual.getMessage()); assertEquals(expected.getParentIds(), actual.getParentIds()); assertEquals(expected.getTreeId(), actual.getTreeId()); assertEquals(expected.getType(), actual.getType()); }