Example usage for org.eclipse.jgit.lib AbbreviatedObjectId fromString

List of usage examples for org.eclipse.jgit.lib AbbreviatedObjectId fromString

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib AbbreviatedObjectId fromString.

Prototype

public static final AbbreviatedObjectId fromString(String str) 

Source Link

Document

Convert an AbbreviatedObjectId from hex characters.

Usage

From source file:com.google.gitiles.LogServlet.java

License:Open Source License

private static Optional<ObjectId> getStart(ListMultimap<String, String> params, ObjectReader reader)
        throws IOException {
    List<String> values = params.get(START_PARAM);
    switch (values.size()) {
    case 0://from ww w.j av  a2  s  .  co m
        return Optional.absent();
    case 1:
        Collection<ObjectId> ids = reader.resolve(AbbreviatedObjectId.fromString(values.get(0)));
        if (ids.size() != 1) {
            return null;
        }
        return Optional.of(Iterables.getOnlyElement(ids));
    default:
        return null;
    }
}

From source file:com.google.gitiles.Revision.java

License:Open Source License

public boolean nameIsId() {
    return AbbreviatedObjectId.isId(name) && (AbbreviatedObjectId.fromString(name).prefixCompare(id) == 0);
}

From source file:com.microsoft.gittf.client.clc.commands.CheckinCommand.java

License:Open Source License

private AbbreviatedObjectId[] getSquashCommitIDs() throws Exception {
    Repository repository = getRepository();

    ObjectReader objReader = null;//  w w w  .  j  a v a  2s .c  om
    RevWalk revWalk = null;
    try {
        objReader = repository.newObjectReader();
        revWalk = new RevWalk(repository);

        Argument[] squashPrefixArgs = getArguments().getArguments("squash"); //$NON-NLS-1$

        if (squashPrefixArgs == null || squashPrefixArgs.length == 0) {
            return null;
        }

        AbbreviatedObjectId[] squashCommitIDs = new AbbreviatedObjectId[squashPrefixArgs.length];

        for (int i = 0; i < squashPrefixArgs.length; i++) {
            squashCommitIDs[i] = AbbreviatedObjectId
                    .fromString(((ValueArgument) squashPrefixArgs[i]).getValue());

            Collection<ObjectId> candidateObjects = null;

            try {
                candidateObjects = objReader.resolve(squashCommitIDs[i]);
            } catch (Exception e) {
                /*
                 * commit id could not be resolved by git
                 */
            }

            if (candidateObjects == null || candidateObjects.size() == 0) {
                throw new Exception(Messages.formatString("CheckinCommand.CommitIdAmbiguousFormat", //$NON-NLS-1$
                        squashCommitIDs[i].name()));
            } else if (candidateObjects.size() > 1) {
                throw new Exception(Messages.formatString("CheckinCommand.CommitIdAmbiguousFormat", //$NON-NLS-1$
                        squashCommitIDs[i].name()));
            } else {
                RevCommit revCommit = revWalk.parseCommit(candidateObjects.toArray(new ObjectId[1])[0]);

                if (revCommit == null) {
                    throw new Exception(Messages.formatString("CheckinCommand.CommitIdDoesNotExistFormat", //$NON-NLS-1$
                            squashCommitIDs[i].name()));
                }
            }
        }

        return squashCommitIDs;
    } finally {
        if (objReader != null) {
            objReader.release();
        }

        if (revWalk != null) {
            revWalk.release();
        }
    }
}

From source file:com.tasktop.c2c.server.scm.service.GitBrowseUtil.java

License:Open Source License

public static Commit resolveCommit(Repository r, String commitId) throws IOException {

    ObjectId oid = null;//www.j  av a2 s. c o m
    Commit commit = new Commit();

    if (commitId.length() < 40) {
        ObjectReader or = r.newObjectReader();
        try {
            AbbreviatedObjectId aid = AbbreviatedObjectId.fromString(commitId);

            Collection<ObjectId> oids = or.resolve(aid);

            if (oids == null || oids.size() == 0) {
                commit.setSha("nex");
                return commit;
            } else if (oids.size() > 1) {
                commit.setSha("ambigous");
                return commit;
            } else {
                oid = oids.iterator().next();
            }
        } finally {
            or.release();
        }
    } else {
        oid = ObjectId.fromString(commitId);
    }

    RevWalk rw = new RevWalk(r);
    try {
        RevCommit rc = rw.parseCommit(oid);
        return GitDomain.createCommit(rc);
    } catch (MissingObjectException ex) {
        commit.setSha("nex");
        return commit;
    } catch (IncorrectObjectTypeException ex) {
        commit.setSha("nex");
        return commit;
    }

}

From source file:org.tomitribe.lieutenant.git.Git.java

License:Apache License

public Set<String> tagList(String commit) {

    final Set<String> tags = new HashSet<String>();
    final AbbreviatedObjectId abbreviatedCommit = AbbreviatedObjectId.fromString(commit);

    try {//from w  w w.jav a  2 s . c  o  m
        List<Ref> refs = this.git.tagList().call();

        for (Ref ref : refs) {

            Ref peeledRef = this.git.getRepository().peel(ref);
            final ObjectId tagCommit;
            if (peeledRef.getPeeledObjectId() != null) {
                tagCommit = peeledRef.getPeeledObjectId();
            } else {
                tagCommit = ref.getObjectId();
            }

            if (tagCommit.startsWith(abbreviatedCommit)) {
                final String name = ref.getName();
                tags.add(name.substring(name.lastIndexOf('/') + 1, name.length()));
            }
        }

    } catch (GitAPIException e) {
        throw new IllegalArgumentException(e);
    }

    return Collections.unmodifiableSet(tags);
}