Example usage for org.eclipse.jgit.revwalk RevSort BOUNDARY

List of usage examples for org.eclipse.jgit.revwalk RevSort BOUNDARY

Introduction

In this page you can find the example usage for org.eclipse.jgit.revwalk RevSort BOUNDARY.

Prototype

RevSort BOUNDARY

To view the source code for org.eclipse.jgit.revwalk RevSort BOUNDARY.

Click Source Link

Document

Include RevFlag#UNINTERESTING boundary commits after all others.

Usage

From source file:kr.re.ec.grigit.graph.ui.GrigitGraph.java

License:Eclipse Distribution License

@Override
protected RevWalk createWalk() {
    // if (objects)
    // logger.info(CLIText.get().cannotUseObjectsWithGlog);
    final PlotWalk w = new PlotWalk(db);
    w.sort(RevSort.BOUNDARY, true);
    w.sort(RevSort.COMMIT_TIME_DESC, true);
    return w;//from   w  ww  .j a  va 2s. com
}

From source file:kr.re.ec.grigit.graph.ui.RevWalker.java

License:Eclipse Distribution License

void enableBoundary(final boolean on) {
    enableRevSort(RevSort.BOUNDARY, on);
}

From source file:org.eclipse.egit.ui.internal.actions.TagAction.java

License:Open Source License

private RevWalk getRevCommits() {
    RevWalk revWalk = new RevWalk(repo);
    revWalk.sort(RevSort.COMMIT_TIME_DESC, true);
    revWalk.sort(RevSort.BOUNDARY, true);

    try {//from  w w w . j a  v a2  s.  co m
        AnyObjectId headId = repo.resolve(Constants.HEAD);
        if (headId != null)
            revWalk.markStart(revWalk.parseCommit(headId));
    } catch (IOException e) {
        ErrorDialog.openError(getShell(), UIText.TagAction_errorDuringTagging,
                UIText.TagAction_errorWhileGettingRevCommits,
                new Status(IStatus.ERROR, Activator.getPluginId(), e.getMessage(), e));
    }

    return revWalk;
}

From source file:org.eclipse.egit.ui.internal.dialogs.CreateTagDialog.java

License:Open Source License

private void getRevCommits(Collection<RevCommit> commits) {
    RevWalk revWalk = new RevWalk(repo);
    revWalk.sort(RevSort.COMMIT_TIME_DESC, true);
    revWalk.sort(RevSort.BOUNDARY, true);

    try {//w w  w.ja v  a 2s  . c  o  m
        AnyObjectId headId = repo.resolve(Constants.HEAD);
        if (headId != null)
            revWalk.markStart(revWalk.parseCommit(headId));
    } catch (IOException e) {
        Activator.logError(UIText.TagAction_errorWhileGettingRevCommits, e);
        setErrorMessage(UIText.TagAction_errorWhileGettingRevCommits);
    }
    // do the walk to get the commits
    for (RevCommit commit : revWalk)
        commits.add(commit);
}

From source file:org.eclipse.egit.ui.internal.history.CommitSelectionDialog.java

License:Open Source License

@Override
public void create() {
    super.create();
    getButton(OK).setEnabled(false);/*w  ww  .j ava  2 s . c o m*/
    try {
        PlatformUI.getWorkbench().getProgressService().run(true, true, new IRunnableWithProgress() {
            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                try {
                    monitor.beginTask(UIText.CommitSelectionDialog_BuildingCommitListMessage,
                            IProgressMonitor.UNKNOWN);
                    SWTWalk currentWalk = new SWTWalk(repository);
                    currentWalk.setTreeFilter(createTreeFilter());
                    currentWalk.sort(RevSort.COMMIT_TIME_DESC, true);
                    currentWalk.sort(RevSort.BOUNDARY, true);
                    highlightFlag = currentWalk.newFlag("highlight"); //$NON-NLS-1$
                    allCommits.source(currentWalk);

                    try {

                        if (Activator.getDefault().getPreferenceStore()
                                .getBoolean(UIPreferences.RESOURCEHISTORY_SHOW_ALL_BRANCHES)) {
                            markStartAllRefs(currentWalk, Constants.R_HEADS);
                            markStartAllRefs(currentWalk, Constants.R_REMOTES);
                        } else
                            currentWalk.markStart(currentWalk.parseCommit(repository.resolve(Constants.HEAD)));
                        for (;;) {
                            final int oldsz = allCommits.size();
                            allCommits.fillTo(oldsz + BATCH_SIZE - 1);

                            if (monitor.isCanceled() || oldsz == allCommits.size())
                                break;
                            String taskName = NLS.bind(UIText.CommitSelectionDialog_FoundCommitsMessage,
                                    Integer.valueOf(allCommits.size()));
                            monitor.setTaskName(taskName);

                        }
                    } catch (IOException e) {
                        throw new InvocationTargetException(e);
                    }
                    getShell().getDisplay().asyncExec(new Runnable() {
                        public void run() {
                            updateUi();
                        }
                    });
                    if (monitor.isCanceled())
                        throw new InterruptedException();
                } finally {
                    monitor.done();
                }
            }
        });
    } catch (InvocationTargetException e) {
        setErrorMessage(e.getCause().getMessage());
    } catch (InterruptedException e) {
        setMessage(UIText.CommitSelectionDialog_IncompleteListMessage, IMessageProvider.WARNING);
    }
}

From source file:org.eclipse.egit.ui.internal.history.GitHistoryPage.java

License:Open Source License

void initAndStartRevWalk(boolean forceNewWalk) throws IllegalStateException {
    try {//from www .  j a  v  a2s. co m
        if (trace)
            GitTraceLocation.getTrace().traceEntry(GitTraceLocation.HISTORYVIEW.getLocation());

        cancelRefreshJob();
        Repository db = input.getRepository();
        AnyObjectId headId;
        try {
            headId = db.resolve(Constants.HEAD);
        } catch (IOException e) {
            throw new IllegalStateException(NLS.bind(UIText.GitHistoryPage_errorParsingHead,
                    Activator.getDefault().getRepositoryUtil().getRepositoryName(db)));
        }
        if (headId == null)
            throw new IllegalStateException(NLS.bind(UIText.GitHistoryPage_errorParsingHead,
                    Activator.getDefault().getRepositoryUtil().getRepositoryName(db)));

        List<String> paths = buildFilterPaths(input.getItems(), input.getFileList(), db);

        if (forceNewWalk || pathChange(pathFilters, paths) || currentWalk == null
                || !headId.equals(currentHeadId)) {
            // TODO Do not dispose SWTWalk just because HEAD changed
            // In theory we should be able to update the graph and
            // not dispose of the SWTWalk, even if HEAD was reset to
            // HEAD^1 and the old HEAD commit should not be visible.
            //
            currentHeadId = headId;
            if (currentWalk != null)
                currentWalk.release();
            currentWalk = new SWTWalk(db);
            currentWalk.sort(RevSort.COMMIT_TIME_DESC, true);
            currentWalk.sort(RevSort.BOUNDARY, true);
            highlightFlag = currentWalk.newFlag("highlight"); //$NON-NLS-1$
        } else {
            currentWalk.reset();
        }

        try {
            if (store.getBoolean(UIPreferences.RESOURCEHISTORY_SHOW_ALL_BRANCHES)) {
                markStartAllRefs(Constants.R_HEADS);
                markStartAllRefs(Constants.R_REMOTES);
            } else
                currentWalk.markStart(currentWalk.parseCommit(headId));
        } catch (IOException e) {
            throw new IllegalStateException(NLS.bind(UIText.GitHistoryPage_errorReadingHeadCommit, headId,
                    db.getDirectory().getAbsolutePath()), e);
        }

        final TreeWalk fileWalker = new TreeWalk(db);
        fileWalker.setRecursive(true);
        if (paths.size() > 0) {
            pathFilters = paths;
            currentWalk.setTreeFilter(
                    AndTreeFilter.create(PathFilterGroup.createFromStrings(paths), TreeFilter.ANY_DIFF));
            fileWalker.setFilter(currentWalk.getTreeFilter().clone());

        } else {
            pathFilters = null;
            currentWalk.setTreeFilter(TreeFilter.ALL);
            fileWalker.setFilter(TreeFilter.ANY_DIFF);
        }
        fileViewer.setTreeWalk(db, fileWalker);
        fileViewer.refresh();
        fileViewer.addSelectionChangedListener(commentViewer);
        commentViewer.setTreeWalk(fileWalker);
        commentViewer.setDb(db);
        commentViewer.refresh();

        final SWTCommitList list;
        list = new SWTCommitList(graph.getControl().getDisplay());
        list.source(currentWalk);
        final GenerateHistoryJob rj = new GenerateHistoryJob(this, list);
        rj.addJobChangeListener(new JobChangeAdapter() {
            @Override
            public void done(final IJobChangeEvent event) {
                final Control graphctl = graph.getControl();
                if (job != rj || graphctl.isDisposed())
                    return;
                graphctl.getDisplay().asyncExec(new Runnable() {
                    public void run() {
                        if (job == rj)
                            job = null;
                    }
                });
            }
        });
        job = rj;
        if (trace)
            GitTraceLocation.getTrace().trace(GitTraceLocation.HISTORYVIEW.getLocation(),
                    "Scheduling GenerateHistoryJob"); //$NON-NLS-1$
        schedule(rj);
    } finally {
        if (trace)
            GitTraceLocation.getTrace().traceExit(GitTraceLocation.HISTORYVIEW.getLocation());

    }
}

From source file:org.flowerplatform.web.git.history.remote.GitHistoryStatefulService.java

License:Open Source License

private void setupWalk(WebWalk walk, Repository repo, String path) throws IOException {
    walk.addAdditionalRefs(repo.getRefDatabase().getAdditionalRefs());
    walk.addAdditionalRefs(repo.getRefDatabase().getRefs(Constants.R_NOTES).values());

    walk.sort(RevSort.COMMIT_TIME_DESC, true);
    walk.sort(RevSort.BOUNDARY, true);
    walk.setRetainBody(false);//from   w w  w . jav  a2s.c o m

    setWalkStartPoints(walk, repo, walk.parseCommit(repo.resolve(Constants.HEAD)));

    createFileWalker(walk, repo, path);

}

From source file:org.nbgit.ui.browser.BrowserController.java

License:Open Source License

public void show() {
    SwingUtilities.invokeLater(new Runnable() {

        public void run() {
            model.getCommitList().clear();
            PlotWalk walk = null;//from  ww  w .  java 2  s. c o m
            try {
                walk = new PlotWalk(model.getRepository());
                walk.sort(RevSort.BOUNDARY, true);
                if (model.hasPaths()) {
                    walk.setTreeFilter(model.createPathFilter());
                }
                for (Ref ref : model.getReferences())
                    walk.markStart(walk.parseCommit(ref.getObjectId()));
                model.getCommitList().source(walk);
                model.getCommitList().fillTo(Integer.MAX_VALUE);
            } catch (Throwable error) {
                model.setContent(error.getMessage());
            } finally {
                if (walk != null) {
                    walk.dispose();
                }
            }
        }
    });
}