Example usage for org.eclipse.jgit.api MergeResult getCheckoutConflicts

List of usage examples for org.eclipse.jgit.api MergeResult getCheckoutConflicts

Introduction

In this page you can find the example usage for org.eclipse.jgit.api MergeResult getCheckoutConflicts.

Prototype

public List<String> getCheckoutConflicts() 

Source Link

Document

Returns a list of paths that cause a checkout conflict.

Usage

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

License:Open Source License

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

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

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

        PullResult answer = git.pull().setCredentialsProvider(
                new UsernamePasswordCredentialsProvider(args[1].getStringValue(), args[2].getStringValue()))
                .call();

        MemTreeBuilder builder = getContext().getDocumentBuilder();

        int nodeNr = builder.startElement(PULL, null);
        builder.addAttribute(IS_SUCCESSFUL, Boolean.toString(answer.isSuccessful()));

        MergeResult merge = answer.getMergeResult();

        if (merge != null) {
            builder.startElement(MERGE, null);
            builder.addAttribute(STATUS, merge.getMergeStatus().toString());
            builder.addAttribute(IS_SUCCESSFUL, Boolean.toString(merge.getMergeStatus().isSuccessful()));

            for (ObjectId commit : merge.getMergedCommits()) {
                builder.startElement(COMMIT, null);

                builder.addAttribute(ID, commit.name());

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

            if (merge.getConflicts() != null) {
                for (Entry<String, int[][]> entry : merge.getConflicts().entrySet()) {
                    builder.startElement(CHECKOUT_CONFLICT, null);
                    builder.addAttribute(PATH, entry.getKey());

                    builder.endElement();
                }

            }

            if (merge.getCheckoutConflicts() != null) {
                for (String path : merge.getCheckoutConflicts()) {
                    builder.startElement(CHECKOUT_CONFLICT, null);
                    builder.addAttribute(PATH, path);

                    builder.endElement();
                }
            }

            if (merge.getFailingPaths() != null) {
                for (Entry<String, MergeFailureReason> entry : merge.getFailingPaths().entrySet()) {
                    builder.startElement(FAILING_PATH, null);
                    builder.addAttribute(PATH, entry.getKey());
                    builder.addAttribute(REASON, entry.getValue().name());

                    builder.endElement();
                }
            }
        }

        RebaseResult rebase = answer.getRebaseResult();

        if (rebase != null) {
            builder.startElement(REBASE, null);
            builder.addAttribute(STATUS, rebase.getStatus().toString());
            builder.addAttribute(IS_SUCCESSFUL, Boolean.toString(rebase.getStatus().isSuccessful()));

            //rebase.getConflicts()

            if (rebase.getFailingPaths() != null) {
                for (Entry<String, MergeFailureReason> entry : rebase.getFailingPaths().entrySet()) {
                    builder.startElement(FAILING_PATH, null);
                    builder.addAttribute(PATH, entry.getKey());
                    builder.addAttribute(REASON, entry.getValue().name());

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

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

From source file:org.flowerplatform.web.git.GitUtils.java

License:Open Source License

public String handleMergeResult(MergeResult mergeResult) {
    StringBuilder sb = new StringBuilder();
    if (mergeResult == null) {
        return sb.toString();
    }/*from   www.  ja v a  2  s .co m*/
    sb.append("Status: ");
    sb.append(mergeResult.getMergeStatus());
    sb.append("\n");

    if (mergeResult.getMergedCommits() != null) {
        sb.append("\nMerged commits: ");
        sb.append("\n");
        for (ObjectId id : mergeResult.getMergedCommits()) {
            sb.append(id.getName());
            sb.append("\n");
        }
    }
    if (mergeResult.getCheckoutConflicts() != null) {
        sb.append("\nConflicts: ");
        sb.append("\n");
        for (String conflict : mergeResult.getCheckoutConflicts()) {
            sb.append(conflict);
            sb.append("\n");
        }
    }

    if (mergeResult.getFailingPaths() != null) {
        sb.append("\nFailing paths: ");
        sb.append("\n");
        for (String path : mergeResult.getFailingPaths().keySet()) {
            sb.append(path);
            sb.append(" -> ");
            sb.append(mergeResult.getFailingPaths().get(path).toString());
            sb.append("\n");
        }
    }
    return sb.toString();
}