List of usage examples for org.eclipse.jgit.lib ObjectId fromString
public static ObjectId fromString(String str)
From source file:org.eclipse.egit.ui.internal.commit.CommitEditorInputFactory.java
License:Open Source License
/** * Get commit from memento and repository * * @param memento/*w w w . ja va2 s. c om*/ * @param repository * @return rev commit */ protected RevCommit getCommit(IMemento memento, Repository repository) { String id = memento.getString(COMMIT); if (id == null) return null; RevWalk walk = new RevWalk(repository); try { RevCommit commit = walk.parseCommit(ObjectId.fromString(id)); for (RevCommit parent : commit.getParents()) walk.parseBody(parent); return commit; } catch (IOException e) { return null; } finally { walk.release(); } }
From source file:org.eclipse.egit.ui.internal.commit.CommitSelectionDialog.java
License:Open Source License
protected void fillContentProvider(AbstractContentProvider contentProvider, ItemsFilter itemsFilter, IProgressMonitor progressMonitor) throws CoreException { String pattern = itemsFilter.getPattern(); Repository[] repositories = getRepositories(); progressMonitor.beginTask(UIText.CommitSelectionDialog_TaskSearching, repositories.length); for (Repository repository : repositories) { try {// www. j av a 2 s .c o m ObjectId commitId; if (ObjectId.isId(pattern)) commitId = ObjectId.fromString(pattern); else commitId = repository.resolve(itemsFilter.getPattern()); if (commitId != null) { RevWalk walk = new RevWalk(repository); walk.setRetainBody(true); RevCommit commit = walk.parseCommit(commitId); contentProvider.add(new RepositoryCommit(repository, commit), itemsFilter); } } catch (RevisionSyntaxException ignored) { // Ignore and advance } catch (IOException ignored) { // Ignore and advance } progressMonitor.worked(1); } }
From source file:org.eclipse.egit.ui.internal.dialogs.CommitDialog.java
License:Open Source License
private void saveOriginalChangeId() { int changeIdOffset = findOffsetOfChangeIdLine(previousCommitMessage); if (changeIdOffset > 0) { int endOfChangeId = findNextEOL(changeIdOffset, previousCommitMessage); int sha1Offset = changeIdOffset + "\nChange-Id: I".length(); //$NON-NLS-1$ try {/*from ww w. j a v a 2s . co m*/ originalChangeId = ObjectId.fromString(previousCommitMessage.substring(sha1Offset, endOfChangeId)); } catch (IllegalArgumentException e) { originalChangeId = null; } } else originalChangeId = null; }
From source file:org.eclipse.egit.ui.internal.dialogs.CommitMessageComponent.java
License:Open Source License
private void saveOriginalChangeId() { int changeIdOffset = findOffsetOfChangeIdLine(previousCommitMessage); if (changeIdOffset > 0) { int endOfChangeId = findNextEOL(changeIdOffset, previousCommitMessage); if (endOfChangeId < 0) endOfChangeId = previousCommitMessage.length(); int sha1Offset = changeIdOffset + "Change-Id: I".length(); //$NON-NLS-1$ try {/* w w w. ja v a2s.c o m*/ originalChangeId = ObjectId.fromString(previousCommitMessage.substring(sha1Offset, endOfChangeId)); } catch (IllegalArgumentException e) { originalChangeId = null; } } else originalChangeId = null; }
From source file:org.eclipse.egit.ui.internal.dialogs.CommitMessageComponentStateManager.java
License:Open Source License
/** * @param repository/* www .ja v a 2 s . c o m*/ * @return state */ public static CommitMessageComponentState loadState(Repository repository) { IDialogSettings dialogSettings = getDialogSettings(); String[] values = dialogSettings.getArray(repository.getDirectory().getAbsolutePath()); if (values == null || values.length < MEMBER_COUNT) return null; CommitMessageComponentState state = new CommitMessageComponentState(); state.setAmend(Boolean.parseBoolean(values[0])); state.setAuthor(values[1]); state.setCommitMessage(values[2]); state.setCommitter(values[3]); state.setHeadCommit(ObjectId.fromString(values[4])); return state; }
From source file:org.eclipse.mylyn.internal.gerrit.ui.egit.GitFileRevisionUtils.java
License:Open Source License
public static IFileRevision getFileRevision(final Repository repository, final IFileVersion reviewFileVersion) { IFileRevision gitFileRevision = null; if (reviewFileVersion != null && reviewFileVersion.getPath() != null) { //Get SHA-1 for the file revision to look for the correct file revision in the Git repository ObjectInserter inserter = repository.newObjectInserter(); String id = inserter.idFor(Constants.OBJ_BLOB, CompareUtil.getContent(reviewFileVersion)).getName(); inserter.release();//from w w w. j a va 2 s . c om if (id != null) { final ObjectId objId = ObjectId.fromString(id); if (objId != null) { final IPath path = Path.fromPortableString(reviewFileVersion.getPath()); gitFileRevision = new org.eclipse.team.core.history.provider.FileRevision() { public IFileRevision withAllProperties(IProgressMonitor monitor) throws CoreException { return this; } public boolean isPropertyMissing() { return false; } public IStorage getStorage(IProgressMonitor monitor) throws CoreException { return getFileRevisionStorage(null, repository, path, objId); } public String getName() { return path.lastSegment(); } }; } } } return gitFileRevision; }
From source file:org.eclipse.mylyn.internal.git.core.GitArtifact.java
License:Open Source License
@Override public IFileRevision getFileRevision(IProgressMonitor monitor) { try {/*from w w w .ja va 2s. com*/ final IPath path = Path.fromPortableString(getPath()); return new FileRevision() { public IFileRevision withAllProperties(IProgressMonitor monitor) throws CoreException { return this; } public boolean isPropertyMissing() { return false; } public IStorage getStorage(IProgressMonitor monitor) throws CoreException { return new IStorage() { @SuppressWarnings("rawtypes") public Object getAdapter(Class adapter) { return null; } public boolean isReadOnly() { return true; } public String getName() { return path.lastSegment(); } public IPath getFullPath() { return path; } public InputStream getContents() throws CoreException { try { return repository.getRepository() .open(ObjectId.fromString(getId()), Constants.OBJ_BLOB).openStream(); } catch (Exception e) { e.printStackTrace(); throw new CoreException( new Status(IStatus.ERROR, GitConnector.PLUGIN_ID, e.getMessage())); } } }; } public String getName() { return path.lastSegment(); } }; } catch (Exception e) { e.printStackTrace(); return null; } }
From source file:org.eclipse.mylyn.internal.git.core.GitConnector.java
License:Open Source License
@Override public ChangeSet getChangeSet(ScmRepository repository, IFileRevision revision, IProgressMonitor monitor) throws CoreException { Repository repository2 = ((GitRepository) repository).getRepository(); RevWalk walk = new RevWalk(repository2); try {//w ww.j a v a 2 s .c o m RevCommit commit; commit = walk.parseCommit(ObjectId.fromString(revision.getContentIdentifier())); TreeWalk treeWalk = new TreeWalk(repository2); for (RevCommit p : commit.getParents()) { walk.parseHeaders(p); walk.parseBody(p); treeWalk.addTree(p.getTree()); //we can compare with one parent only break; } treeWalk.addTree(commit.getTree()); treeWalk.setRecursive(true); List<DiffEntry> entries = DiffEntry.scan(treeWalk); List<Change> changes = new ArrayList<Change>(); File repoDir = repository2.getWorkTree().getAbsoluteFile(); //define working area repo URI IPath repoWorkAreaPath = new Path(repoDir.getAbsolutePath()).addTrailingSeparator(); for (DiffEntry d : entries) { // FIXME - could not work for renaming if (!d.getChangeType().equals(org.eclipse.jgit.diff.DiffEntry.ChangeType.RENAME) && d.getOldId().equals(d.getNewId())) { continue; } //Create old and new artifacts with IResource information if available from the current workspace ScmArtifact newArtifact = getArtifact(repository, d, false, repoWorkAreaPath); ScmArtifact oldArtifact = getArtifact(repository, d, true, repoWorkAreaPath); changes.add(new Change(oldArtifact, newArtifact, mapChangeType(d.getChangeType()))); } return changeSet(commit, repository, changes); } catch (Exception e) { e.printStackTrace(); throw new CoreException(new Status(IStatus.ERROR, GitConnector.PLUGIN_ID, e.getMessage())); } }
From source file:org.eclipse.mylyn.internal.git.ui.connector.GitConnectorUi.java
License:Open Source License
private RevCommit getCommit(Repository repository, String objectId) { RevWalk revWalk = null;/*from w ww. j a v a2 s .com*/ try { revWalk = new RevWalk(repository); return revWalk.parseCommit(ObjectId.fromString(objectId)); } catch (Exception e) { return null; } finally { if (revWalk != null) { revWalk.release(); } } }
From source file:org.eclipse.mylyn.internal.github.ui.pr.CommitAttributePart.java
License:Open Source License
private void openCommits(final Repository repository, final Object[] elements) { if (elements.length == 0) return;/*from w ww. ja va 2s . c o m*/ if (repository == null) return; RevWalk walk = new RevWalk(repository); try { for (Object element : elements) { String id = ((PullRequestCommitAdapter) element).getCommit().getSha(); try { CommitEditor .openQuiet(new RepositoryCommit(repository, walk.parseCommit(ObjectId.fromString(id)))); } catch (MissingObjectException ignored) { boolean fetch = MessageDialog.openQuestion(getControl().getShell(), Messages.CommitAttributePart_TitleFetch, Messages.CommitAttributePart_MessageFetch); if (fetch) { fetchCommits(new Runnable() { public void run() { PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { public void run() { openCommits(repository, elements); } }); } }); } } } } catch (IOException e) { GitHubUi.logError(e); } finally { walk.release(); } }