List of usage examples for org.eclipse.jgit.lib ObjectId equals
@SuppressWarnings({ "NonOverridingEquals", "AmbiguousMethodReference" }) public final boolean equals(AnyObjectId other)
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(); }