Example usage for org.eclipse.jgit.lib AnyObjectId equals

List of usage examples for org.eclipse.jgit.lib AnyObjectId equals

Introduction

In this page you can find the example usage for org.eclipse.jgit.lib AnyObjectId equals.

Prototype

@Override
public final boolean equals(Object o) 

Source Link

Usage

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

License:Open Source License

void initAndStartRevWalk(boolean forceNewWalk) throws IllegalStateException {
    try {// w w w  . j a  v  a  2s .com
        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.eclipse.egit.ui.internal.synchronize.mapping.GitTreeTraversal.java

License:Open Source License

private static IResource[] getResourcesImpl(Repository repo, AnyObjectId baseId, AnyObjectId remoteId,
        IPath path) {// w w  w  . ja  va2s  .  com
    if (remoteId.equals(zeroId()))
        return new IResource[0];

    TreeWalk tw = new TreeWalk(repo);
    List<IResource> result = new ArrayList<IResource>();
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

    tw.reset();
    tw.setRecursive(false);
    tw.setFilter(TreeFilter.ANY_DIFF);
    try {
        tw.addTree(new FileTreeIterator(repo));
        if (!baseId.equals(zeroId()))
            tw.addTree(baseId);

        int actualNth = tw.addTree(remoteId);

        while (tw.next()) {
            int objectType = tw.getFileMode(actualNth).getObjectType();
            IPath childPath = path.append(tw.getNameString());

            IResource resource = null;
            if (objectType == Constants.OBJ_BLOB)
                resource = root.getFileForLocation(childPath);
            else if (objectType == Constants.OBJ_TREE)
                resource = root.getContainerForLocation(childPath);

            if (resource != null)
                result.add(resource);
        }
    } catch (IOException e) {
        Activator.logError(e.getMessage(), e);
    }

    return result.toArray(new IResource[result.size()]);
}