@Override public RevCommit getCommit(ObjectId id) { return subject.get().getCommit(id); }
@Override public RevCommit getCommit(ObjectId id) { return subject.get().getCommit(id); }
/** * Gets the {@link RevCommit} with the given {@link ObjectId} from the object database. * * @param commitId the {@code ObjectId} for the commit * @return the {@code RevCommit} */ @Override public RevCommit getCommit(final ObjectId commitId) { RevCommit commit = context().objectDatabase().getCommit(commitId); return commit; }
/** * Gets the {@link RevCommit} with the given {@link ObjectId} from the object database. * * @param commitId the {@code ObjectId} for the commit * @return the {@code RevCommit} */ @Override public RevCommit getCommit(final ObjectId commitId) { RevCommit commit = context().objectDatabase().getCommit(commitId); return commit; }
protected @Override java.util.Optional<RevCommit> _call() { Preconditions.checkNotNull(commitIsh, "commit-ish not provided"); final ObjectId id = context.command(RevParse.class).setRefSpec(commitIsh).call().orNull(); RevCommit commit = null; if (id != null) { ObjectDatabase db = context.objectDatabase(); RevObject obj = db.get(id); switch (obj.getType()) { case COMMIT: commit = (RevCommit) obj; break; case TAG: commit = db.getCommit(((RevTag) obj).getCommitId()); break; default: throw new IllegalArgumentException( String.format("'%s' resolves to a %s, not a comit", obj.getType())); } } return Optional.ofNullable(commit); }
private boolean applyNextCommit(boolean useCommitChanges) { List<String> nextFile = Blobs.readLines(context().blobStore(), REBASE_NEXT_BLOB); if (nextFile.isEmpty()) { return false; } String idx = nextFile.get(0); String blobName = REBASE_BLOB_PREFIX + idx; List<String> commitFile = Blobs.readLines(context().blobStore(), blobName); if (commitFile.isEmpty()) { return false; } String commitId = commitFile.get(0); RevCommit commit = objectDatabase().getCommit(ObjectId.valueOf(commitId)); applyCommit(commit, useCommitChanges); context().blobStore().removeBlob(blobName); int newIdx = Integer.parseInt(idx) + 1; try { Blobs.putBlob(context().blobStore(), REBASE_NEXT_BLOB, String.valueOf(newIdx)); } catch (Exception e) { throw new IllegalStateException("Cannot read/write rebase commits index", e); } return true; }
private boolean applyNextCommit(boolean useCommitChanges) { List<String> nextFile = Blobs.readLines(context().blobStore(), REBASE_NEXT_BLOB); if (nextFile.isEmpty()) { return false; } String idx = nextFile.get(0); String blobName = REBASE_BLOB_PREFIX + idx; List<String> commitFile = Blobs.readLines(context().blobStore(), blobName); if (commitFile.isEmpty()) { return false; } String commitId = commitFile.get(0); RevCommit commit = objectDatabase().getCommit(ObjectId.valueOf(commitId)); applyCommit(commit, useCommitChanges); context().blobStore().removeBlob(blobName); int newIdx = Integer.parseInt(idx) + 1; try { Blobs.putBlob(context().blobStore(), REBASE_NEXT_BLOB, String.valueOf(newIdx)); } catch (Exception e) { throw new IllegalStateException("Cannot read/write rebase commits index", e); } return true; }
} else if (object.getType().equals(TYPE.TAG)) { tag = (RevTag) object; commit = fromDb.getCommit(tag.getCommitId());
RevCommit commit = context.objectDatabase().getCommit(commitId); RevTree baseTree = context.objectDatabase().getTree(commit.getTreeId()); RevTreeBuilder newTreeBuilder = CanonicalTreeBuilder.create(context.objectDatabase(),
} else if (object.getType().equals(TYPE.TAG)) { tag = (RevTag) object; commit = fromDb.getCommit(tag.getCommitId());
RevCommit commit = context.objectDatabase().getCommit(commitId); RevTree baseTree = context.objectDatabase().getTree(commit.getTreeId()); RevTreeBuilder newTreeBuilder = CanonicalTreeBuilder.create(context.objectDatabase(),
@Override protected MergeScenarioReport _call() { if (consumer == null) { consumer = new MergeScenarioConsumer(); } final Optional<ObjectId> ancestorOpt = command(FindCommonAncestor.class).setLeft(toMerge) .setRight(mergeInto).call(); Preconditions.checkState(ancestorOpt.isPresent(), "No ancestor commit could be found."); final ObjectId ancestor = ancestorOpt.get(); MergeScenarioReport report = null; try (AutoCloseableIterator<DiffEntry> mergeIntoDiffs = command(DiffTree.class) .setOldTree(ancestor).setReportTrees(true).setNewTree(mergeInto.getId()) .setPreserveIterationOrder(true).call(); AutoCloseableIterator<DiffEntry> toMergeDiffs = command(DiffTree.class) .setOldTree(ancestor).setReportTrees(true).setNewTree(toMerge.getId()) .setPreserveIterationOrder(true).call();) { Iterator<MergeDiffRef> tupleIterator = new MergeDiffIterator(mergeIntoDiffs, toMergeDiffs); final RevCommit ancestorCommit = objectDatabase().getCommit(ancestor); final RevTree ancestorTree = objectDatabase().getTree(ancestorCommit.getTreeId()); report = process(tupleIterator, ancestorTree); } return report; }
@Override protected MergeScenarioReport _call() { if (consumer == null) { consumer = new MergeScenarioConsumer(); } final Optional<ObjectId> ancestorOpt = command(FindCommonAncestor.class).setLeft(toMerge) .setRight(mergeInto).call(); Preconditions.checkState(ancestorOpt.isPresent(), "No ancestor commit could be found."); final ObjectId ancestor = ancestorOpt.get(); MergeScenarioReport report = null; try (AutoCloseableIterator<DiffEntry> mergeIntoDiffs = command(DiffTree.class) .setOldTree(ancestor).setReportTrees(true).setNewTree(mergeInto.getId()) .setPreserveIterationOrder(true).call(); AutoCloseableIterator<DiffEntry> toMergeDiffs = command(DiffTree.class) .setOldTree(ancestor).setReportTrees(true).setNewTree(toMerge.getId()) .setPreserveIterationOrder(true).call();) { Iterator<MergeDiffRef> tupleIterator = new MergeDiffIterator(mergeIntoDiffs, toMergeDiffs); final RevCommit ancestorCommit = objectDatabase().getCommit(ancestor); final RevTree ancestorTree = objectDatabase().getTree(ancestorCommit.getTreeId()); report = process(tupleIterator, ancestorTree); } return report; }
@Test public void testPullCommitThatPassesFilter() throws Exception { setupSparseClone(); // Add a commit that passes our filter to the remote. ObjectId oId = insertAndAdd(remoteGeogig.geogig, city1_modified); final RevCommit commit = remoteGeogig.geogig.command(CommitOp.class) .setMessage(city1_modified.getIdentifier().toString()).call(); Optional<RevObject> childObject = remoteGeogig.geogig.command(RevObjectParse.class) .setObjectId(oId).call(); assertTrue(childObject.isPresent()); assertEquals(commit, remoteGeogig.geogig.getRepository().objectDatabase().getCommit(commit.getId())); PullOp pull = pullOp(); pull.call(); List<RevCommit> logged = newArrayList(localGeogig.geogig.command(LogOp.class).call()); assertEquals("Cities.1", logged.get(0).getMessage()); assertFalse(commit.getId().equals(logged.get(0).getId())); assertExists(localGeogig, oId); }
@Test public void testPullCommitThatPassesFilter() throws Exception { setupSparseClone(); // Add a commit that passes our filter to the remote. ObjectId oId = insertAndAdd(remoteGeogig.geogig, city1_modified); final RevCommit commit = remoteGeogig.geogig.command(CommitOp.class) .setMessage(city1_modified.getIdentifier().toString()).call(); Optional<RevObject> childObject = remoteGeogig.geogig.command(RevObjectParse.class) .setObjectId(oId).call(); assertTrue(childObject.isPresent()); assertEquals(commit, remoteGeogig.geogig.getRepository().objectDatabase().getCommit(commit.getId())); PullOp pull = pullOp(); pull.call(); List<RevCommit> logged = newArrayList(localGeogig.geogig.command(LogOp.class).call()); assertEquals("Cities.1", logged.get(0).getMessage()); assertFalse(commit.getId().equals(logged.get(0).getId())); assertExists(localGeogig, oId); }