@Override public RevCommit getCommit(ObjectId id) { return subject.get().getCommit(id); }
@Override public RevCommit getCommit(ObjectId id) { return subject.get().getCommit(id); }
public @Override void findSuccessors(final Object object, final List<Object> successors, ObjectStore database) { if (object instanceof RevTag) { final RevTag tag = (RevTag) object; successors.add(database.getCommit(tag.getCommitId())); } }
public @Override void run() { final Map<ObjectId, RevCommit> commitsById = Maps.uniqueIndex(commits, (c) -> c.getId()); for (RevCommit commit : commits) { List<ObjectId> parentIds = commit.getParentIds(); if (parentIds.isEmpty()) { parentIds = ImmutableList.of(ObjectId.NULL); } for (ObjectId parentId : parentIds) { RevCommit parent = parentId.isNull() ? null : Optional.fromNullable(commitsById.get(parentId)) .or(() -> source.getCommit(parentId)); visitPreOrder(parent, commit, deduplicator, objectReport, this); } } accept(ObjectId.NULL);// terminal token }
private RevTree resolveTree(RevObject o, ObjectStore source) { if (o instanceof RevTree) { return (RevTree) o; } if (o instanceof RevCommit) { return source.getTree(((RevCommit) o).getTreeId()); } if (o instanceof RevTag) { return resolveTree(source.getCommit(((RevTag) o).getCommitId()), source); } throw new IllegalArgumentException("Object does not resolve to a tree"); }
/** * @param objectId * @return */ private RevCommit resolveCommit(ObjectId objectId) { final RevObject revObject = source.getIfPresent(objectId); checkArgument(revObject != null, "No object named %s could be found", objectId); RevCommit commit; switch (revObject.getType()) { case COMMIT: commit = (RevCommit) revObject; break; case TAG: ObjectId commitId = ((RevTag) revObject).getCommitId(); commit = source.getCommit(commitId); break; default: throw new IllegalArgumentException(String.format( "%s did not resolve to a commit or tag: %s", objectId, revObject.getType())); } return commit; }
/** * @param objectId * @return */ private RevCommit resolveCommit(ObjectId objectId) { final RevObject revObject = source.getIfPresent(objectId); checkArgument(revObject != null, "No object named %s could be found", objectId); RevCommit commit; switch (revObject.getType()) { case COMMIT: commit = (RevCommit) revObject; break; case TAG: ObjectId commitId = ((RevTag) revObject).getCommitId(); commit = source.getCommit(commitId); break; default: throw new IllegalArgumentException(String.format( "%s did not resolve to a commit or tag: %s", objectId, revObject.getType())); } return commit; }