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

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

Introduction

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

Prototype

@SuppressWarnings({ "NonOverridingEquals", "AmbiguousMethodReference" })
public final boolean equals(AnyObjectId other) 

Source Link

Document

Determine if this ObjectId has exactly the same value as another.

Usage

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

License:Open Source License

private String getTagsString() {
    StringBuilder sb = new StringBuilder();
    Map<String, Ref> tagsMap = db.getTags();
    for (Entry<String, Ref> tagEntry : tagsMap.entrySet()) {
        ObjectId target = tagEntry.getValue().getPeeledObjectId();
        if (target == null)
            target = tagEntry.getValue().getObjectId();
        if (target != null && target.equals(commit)) {
            if (sb.length() > 0)
                sb.append(", "); //$NON-NLS-1$
            sb.append(tagEntry.getKey());
        }// w  w w  .j a  v a 2  s  .  c o m
    }
    return sb.toString();
}

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

License:Open Source License

private void outputEclipseDiff(final StringBuilder d, final Repository db, final ObjectReader reader,
        final DiffFormatter diffFmt) throws IOException {
    if (!(getBlobs().length == 2))
        throw new UnsupportedOperationException(
                "Not supported yet if the number of parents is different from one"); //$NON-NLS-1$

    String projectRelativePath = getProjectRelativePath(db, getPath());
    d.append("diff --git ").append(projectRelativePath).append(" ") //$NON-NLS-1$ //$NON-NLS-2$
            .append(projectRelativePath).append("\n"); //$NON-NLS-1$
    final ObjectId id1 = getBlobs()[0];
    final ObjectId id2 = getBlobs()[1];
    final FileMode mode1 = getModes()[0];
    final FileMode mode2 = getModes()[1];

    if (id1.equals(ObjectId.zeroId())) {
        d.append("new file mode " + mode2).append("\n"); //$NON-NLS-1$//$NON-NLS-2$
    } else if (id2.equals(ObjectId.zeroId())) {
        d.append("deleted file mode " + mode1).append("\n"); //$NON-NLS-1$//$NON-NLS-2$
    } else if (!mode1.equals(mode2)) {
        d.append("old mode " + mode1); //$NON-NLS-1$
        d.append("new mode " + mode2).append("\n"); //$NON-NLS-1$//$NON-NLS-2$
    }//from   w ww .j  av a  2s.c  o  m
    d.append("index ").append(reader.abbreviate(id1).name()). //$NON-NLS-1$
            append("..").append(reader.abbreviate(id2).name()). //$NON-NLS-1$
            append(mode1.equals(mode2) ? " " + mode1 : "").append("\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    if (id1.equals(ObjectId.zeroId()))
        d.append("--- /dev/null\n"); //$NON-NLS-1$
    else {
        d.append("--- "); //$NON-NLS-1$
        d.append(getProjectRelativePath(db, getPath()));
        d.append("\n"); //$NON-NLS-1$
    }

    if (id2.equals(ObjectId.zeroId()))
        d.append("+++ /dev/null\n"); //$NON-NLS-1$
    else {
        d.append("+++ "); //$NON-NLS-1$
        d.append(getProjectRelativePath(db, getPath()));
        d.append("\n"); //$NON-NLS-1$
    }

    final RawText a = getRawText(id1, reader);
    final RawText b = getRawText(id2, reader);
    EditList editList = MyersDiff.INSTANCE.diff(RawTextComparator.DEFAULT, a, b);
    diffFmt.format(editList, a, b);
}

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

License:Open Source License

private RawText getRawText(ObjectId id, ObjectReader reader) throws IOException {
    if (id.equals(ObjectId.zeroId()))
        return new RawText(new byte[] {});
    ObjectLoader ldr = reader.open(id, Constants.OBJ_BLOB);
    return new RawText(ldr.getCachedBytes(Integer.MAX_VALUE));
}

From source file:org.eclipse.egit.ui.internal.reflog.ReflogView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    GridLayoutFactory.fillDefaults().applyTo(parent);

    toolkit = new FormToolkit(parent.getDisplay());
    parent.addDisposeListener(new DisposeListener() {
        public void widgetDisposed(DisposeEvent e) {
            toolkit.dispose();//from   ww  w .  jav a 2  s. com
        }
    });

    form = toolkit.createForm(parent);

    Image repoImage = UIIcons.REPOSITORY.createImage();
    UIUtils.hookDisposal(form, repoImage);
    final Image branchImage = UIIcons.CHANGESET.createImage();
    UIUtils.hookDisposal(form, branchImage);
    form.setImage(repoImage);
    form.setText(UIText.StagingView_NoSelectionTitle);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(form);
    toolkit.decorateFormHeading(form);
    GridLayoutFactory.fillDefaults().applyTo(form.getBody());

    Composite tableComposite = toolkit.createComposite(form.getBody());
    tableComposite.setLayout(new GridLayout());

    GridDataFactory.fillDefaults().grab(true, true).applyTo(tableComposite);

    final TreeColumnLayout layout = new TreeColumnLayout();

    FilteredTree filteredTree = new FilteredTree(tableComposite, SWT.NONE | SWT.BORDER | SWT.FULL_SELECTION,
            new PatternFilter(), true) {
        @Override
        protected void createControl(Composite composite, int treeStyle) {
            super.createControl(composite, treeStyle);
            treeComposite.setLayout(layout);
        }
    };

    toolkit.adapt(filteredTree);
    refLogTableTreeViewer = filteredTree.getViewer();
    refLogTableTreeViewer.getTree().setLinesVisible(true);
    refLogTableTreeViewer.getTree().setHeaderVisible(true);
    refLogTableTreeViewer.setContentProvider(new ReflogViewContentProvider());

    ColumnViewerToolTipSupport.enableFor(refLogTableTreeViewer);

    TreeViewerColumn toColumn = createColumn(layout, UIText.ReflogView_CommitColumnHeader, 10, SWT.LEFT);
    toColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            final ReflogEntry entry = (ReflogEntry) element;
            return entry.getNewId().abbreviate(7).name();
        }

        @Override
        public String getToolTipText(Object element) {
            final ReflogEntry entry = (ReflogEntry) element;
            return entry.getNewId().name();
        }

        @Override
        public Image getImage(Object element) {
            return branchImage;
        }

    });

    TreeViewerColumn commitMessageColumn = createColumn(layout, UIText.ReflogView_CommitMessageColumnHeader, 40,
            SWT.LEFT);
    commitMessageColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            final ReflogEntry entry = (ReflogEntry) element;
            RevCommit c = getCommit(entry);
            return c == null ? "" : c.getShortMessage(); //$NON-NLS-1$
        }

        private RevCommit getCommit(final ReflogEntry entry) {
            RevWalk walk = new RevWalk(getRepository());
            walk.setRetainBody(true);
            RevCommit c = null;
            try {
                c = walk.parseCommit(entry.getNewId());
            } catch (IOException ignored) {
                // ignore
            } finally {
                walk.release();
            }
            return c;
        }
    });

    TreeViewerColumn dateColumn = createColumn(layout, UIText.ReflogView_DateColumnHeader, 15, SWT.LEFT);
    dateColumn.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            final ReflogEntry entry = (ReflogEntry) element;
            final PersonIdent who = entry.getWho();
            // TODO add option to use RelativeDateFormatter
            return absoluteFormatter.format(who.getWhen());
        }

        @Override
        public Image getImage(Object element) {
            return null;
        }

    });

    TreeViewerColumn messageColumn = createColumn(layout, UIText.ReflogView_MessageColumnHeader, 40, SWT.LEFT);
    messageColumn.setLabelProvider(new ColumnLabelProvider() {

        private ResourceManager resourceManager = new LocalResourceManager(JFaceResources.getResources());

        @Override
        public String getText(Object element) {
            final ReflogEntry entry = (ReflogEntry) element;
            return entry.getComment();
        }

        public Image getImage(Object element) {
            String comment = ((ReflogEntry) element).getComment();
            if (comment.startsWith("commit:") || comment.startsWith("commit (initial):")) //$NON-NLS-1$ //$NON-NLS-2$
                return (Image) resourceManager.get(UIIcons.COMMIT);
            if (comment.startsWith("commit (amend):")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.AMEND_COMMIT);
            if (comment.startsWith("pull")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.PULL);
            if (comment.startsWith("clone")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.CLONEGIT);
            if (comment.startsWith("rebase")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.REBASE);
            if (comment.startsWith("merge")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.MERGE);
            if (comment.startsWith("fetch")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.FETCH);
            if (comment.startsWith("branch")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.CREATE_BRANCH);
            if (comment.startsWith("checkout")) //$NON-NLS-1$
                return (Image) resourceManager.get(UIIcons.CHECKOUT);
            return null;
        }

        public void dispose() {
            resourceManager.dispose();
            super.dispose();
        }
    });

    new OpenAndLinkWithEditorHelper(refLogTableTreeViewer) {
        @Override
        protected void linkToEditor(ISelection selection) {
            // Not supported

        }

        @Override
        protected void open(ISelection sel, boolean activate) {
            handleOpen(sel, OpenStrategy.activateOnOpen());
        }

        @Override
        protected void activate(ISelection selection) {
            handleOpen(selection, true);
        }

        private void handleOpen(ISelection selection, boolean activateOnOpen) {
            if (selection instanceof IStructuredSelection)
                if (selection.isEmpty())
                    return;
            Repository repo = getRepository();
            if (repo == null)
                return;
            RevWalk walk = new RevWalk(repo);
            try {
                for (Object element : ((IStructuredSelection) selection).toArray()) {
                    ReflogEntry entry = (ReflogEntry) element;
                    ObjectId id = entry.getNewId();
                    if (id == null || id.equals(ObjectId.zeroId()))
                        id = entry.getOldId();
                    if (id != null && !id.equals(ObjectId.zeroId()))
                        CommitEditor.openQuiet(new RepositoryCommit(repo, walk.parseCommit(id)),
                                activateOnOpen);
                }
            } catch (IOException e) {
                Activator.logError(UIText.ReflogView_ErrorOnOpenCommit, e);
            } finally {
                walk.release();
            }
        }
    };

    selectionChangedListener = new ISelectionListener() {
        public void selectionChanged(IWorkbenchPart part, ISelection selection) {
            if (part instanceof IEditorPart) {
                IEditorInput input = ((IEditorPart) part).getEditorInput();
                if (input instanceof IFileEditorInput)
                    reactOnSelection(new StructuredSelection(((IFileEditorInput) input).getFile()));
            } else
                reactOnSelection(selection);
        }
    };

    IWorkbenchPartSite site = getSite();
    ISelectionService service = (ISelectionService) site.getService(ISelectionService.class);
    service.addPostSelectionListener(selectionChangedListener);

    // Use current selection to populate reflog view
    ISelection selection = service.getSelection();
    if (selection != null && !selection.isEmpty()) {
        IWorkbenchPart part = site.getPage().getActivePart();
        if (part != null)
            selectionChangedListener.selectionChanged(part, selection);
    }

    site.setSelectionProvider(refLogTableTreeViewer);

    addRefsChangedListener = Repository.getGlobalListenerList().addRefsChangedListener(this);

    // register context menu
    MenuManager menuManager = new MenuManager();
    menuManager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    Tree tree = refLogTableTreeViewer.getTree();
    tree.setMenu(menuManager.createContextMenu(tree));
    getSite().registerContextMenu(POPUP_MENU_ID, menuManager, refLogTableTreeViewer);
}

From source file:org.eclipse.egit.ui.internal.synchronize.compare.GitCompareInput.java

License:Open Source License

private boolean objectExist(RevCommit commit, ObjectId id) {
    return commit != null && id != null && !id.equals(zeroId());
}

From source file:org.eclipse.egit.ui.internal.synchronize.model.GitModelBlob.java

License:Open Source License

@Override
public boolean equals(Object obj) {
    if (obj == this)
        return true;

    if (obj instanceof GitModelBlob) {
        GitModelBlob objBlob = (GitModelBlob) obj;

        boolean equalsRemoteId;
        ObjectId objRemoteId = objBlob.remoteId;
        if (objRemoteId != null)
            equalsRemoteId = objRemoteId.equals(remoteId);
        else/*from   ww  w .  ja  v a 2 s  .c  o  m*/
            equalsRemoteId = baseCommit == null;

        return objBlob.baseId.equals(baseId) && equalsRemoteId;
    }

    return false;
}

From source file:org.eclipse.egit.ui.internal.synchronize.model.GitModelObjectContainer.java

License:Open Source License

private void calculateKind() {
    ObjectId remote = remoteCommit != null ? remoteCommit.getId() : zeroId();
    if (remote.equals(zeroId()))
        kind = kind | ADDITION;//from  w  ww  . j  a v a2  s.  c om
    else if (baseCommit.equals(zeroId()))
        kind = kind | DELETION;
    else
        kind = kind | CHANGE;
}

From source file:org.eclipse.egit.ui.test.stagview.StagingViewTest.java

License:Open Source License

@Test
public void testAmend() throws Exception {
    RevCommit oldHeadCommit = TestUtil.getHeadCommit(repository);
    commitOneFileChange("Yet another Change");
    RevCommit headCommit = TestUtil.getHeadCommit(repository);
    ObjectId headCommitId = headCommit.getId();
    String changeId = CommitMessageUtil.extractChangeId(headCommit.getFullMessage());
    setTestFileContent("Changes over changes");
    new Git(repository).add().addFilepattern(".").call();
    StagingViewTester stagingViewTester = StagingViewTester.openStagingView();
    stagingViewTester.setAmend(true);/*from w  w w. ja va 2  s .  c  o m*/
    assertTrue(stagingViewTester.getCommitMessage().indexOf("Change-Id") > 0);
    assertTrue(stagingViewTester.getCommitMessage().indexOf("Signed-off-by") > 0);
    assertTrue(stagingViewTester.getSignedOff());
    assertTrue(stagingViewTester.getInsertChangeId());
    stagingViewTester.commit();
    headCommit = TestUtil.getHeadCommit(repository);
    if (headCommitId.equals(headCommit.getId()))
        fail("There is no new commit");
    assertEquals(oldHeadCommit, headCommit.getParent(0));
    assertTrue(headCommit.getFullMessage().indexOf(changeId) > 0);
}

From source file:org.eclipse.tycho.extras.sourceref.jgit.JGitSourceReferencesProvider.java

License:Open Source License

private String findTagForHead(Git git, ObjectId head) throws MojoExecutionException {
    String tag = null;//w w  w  .java  2 s.c  o  m
    try {
        for (Ref ref : git.tagList().call()) {
            ObjectId objectId = ref.getPeeledObjectId();
            if (objectId == null) {
                objectId = ref.getObjectId();
            }
            if (head.equals(objectId)) {
                tag = ref.getName();
                if (tag.startsWith(Constants.R_TAGS)) {
                    tag = tag.substring(Constants.R_TAGS.length());
                }
                break;
            }
        }
    } catch (GitAPIException e) {
        throw new MojoExecutionException("exception trying to get tag list", e);
    }
    return tag;
}

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

License:Open Source License

private String getTagsString(Repository repo, RevCommit commit) {
    StringBuilder sb = new StringBuilder();
    Map<String, Ref> tagsMap = repo.getTags();
    for (Entry<String, Ref> tagEntry : tagsMap.entrySet()) {
        ObjectId target = tagEntry.getValue().getPeeledObjectId();
        if (target == null) {
            target = tagEntry.getValue().getObjectId();
        }//from  w w  w .j  a va  2  s  .  co m
        if (target != null && target.equals(commit)) {
            if (sb.length() > 0) {
                sb.append(", ");
            }
            sb.append(tagEntry.getKey());
        }
    }
    return sb.toString();
}