Example usage for org.eclipse.jgit.transport RemoteRefUpdate isFastForward

List of usage examples for org.eclipse.jgit.transport RemoteRefUpdate isFastForward

Introduction

In this page you can find the example usage for org.eclipse.jgit.transport RemoteRefUpdate isFastForward.

Prototype

public boolean isFastForward() 

Source Link

Document

Check whether update was fast-forward.

Usage

From source file:org.exist.git.xquery.Push.java

License:Open Source License

@Override
public Sequence eval(Sequence[] args, Sequence contextSequence) throws XPathException {

    try {//  ww  w  .j a v  a  2  s . c  om
        String localPath = args[0].getStringValue();
        if (!(localPath.endsWith("/")))
            localPath += File.separator;

        Git git = Git.open(new Resource(localPath), FS);

        Iterable<PushResult> answer = git.push().setCredentialsProvider(
                new UsernamePasswordCredentialsProvider(args[1].getStringValue(), args[2].getStringValue()))
                .call();

        MemTreeBuilder builder = getContext().getDocumentBuilder();

        int nodeNr = builder.startElement(PUSH, null);

        for (PushResult push : answer) {

            builder.startElement(RESULT, null);

            for (TrackingRefUpdate tracking : push.getTrackingRefUpdates()) {

                builder.startElement(TRACKING_REF_UPDATE, null);

                builder.addAttribute(REMOTE_NAME, tracking.getRemoteName());
                builder.addAttribute(LOCAL_NAME, tracking.getLocalName());

                //builder.addAttribute(FORCE_UPDATE, Boolean.toString(tracking.forceUpdate));

                builder.addAttribute(OLD_OBJECTID, tracking.getOldObjectId().name());
                builder.addAttribute(NEW_OBJECTID, tracking.getNewObjectId().name());
            }

            for (RemoteRefUpdate remote : push.getRemoteUpdates()) {

                builder.startElement(REMOTE_REF_UPDATE, null);

                builder.addAttribute(REMOTE_NAME, remote.getRemoteName());
                builder.addAttribute(STATUS, remote.getStatus().name());

                if (remote.isExpectingOldObjectId())
                    builder.addAttribute(EXPECTED_OLD_OBJECTID, remote.getExpectedOldObjectId().name());

                if (remote.getNewObjectId() != null)
                    builder.addAttribute(NEW_OBJECTID, remote.getNewObjectId().name());

                builder.addAttribute(FAST_FORWARD, Boolean.toString(remote.isFastForward()));
                builder.addAttribute(FORCE_UPDATE, Boolean.toString(remote.isForceUpdate()));

                if (remote.getMessage() != null)
                    builder.characters(remote.getMessage());

                builder.endElement();
            }
            builder.endElement();
        }

        builder.endElement();

        return builder.getDocument().getNode(nodeNr);
    } catch (Throwable e) {
        e.printStackTrace();
        throw new XPathException(this, Module.EXGIT001, e);
    }
}