List of usage examples for org.eclipse.jgit.lib TagBuilder setObjectId
public void setObjectId(RevObject obj)
From source file:com.google.gitiles.TimeCacheTest.java
License:Open Source License
@Test public void tagMissingTime() throws Exception { RevCommit commit = repo.commit().create(); TagBuilder builder = new TagBuilder(); builder.setObjectId(commit); builder.setTag("tag"); builder.setMessage(""); ObjectInserter ins = repo.getRepository().newObjectInserter(); ObjectId id;/*from ww w. j av a2 s . c om*/ try { id = ins.insert(builder); ins.flush(); } finally { ins.release(); } assertEquals(start + 1, getTime(commit)); assertEquals(start + 1, getTime(id)); }
From source file:com.google.gitiles.TimeCacheTest.java
License:Open Source License
@Test public void firstTagMissingTime() throws Exception { RevCommit commit = repo.commit().create(); repo.tick(1);/*from ww w. ja va 2s . co m*/ RevTag tag = repo.tag("tag", commit); repo.tick(1); TagBuilder builder = new TagBuilder(); builder.setObjectId(tag); builder.setTag("tagtag"); builder.setMessage(""); ObjectInserter ins = repo.getRepository().newObjectInserter(); ObjectId tagTagId; try { tagTagId = ins.insert(builder); ins.flush(); } finally { ins.release(); } assertEquals(start + 1, getTime(commit)); assertEquals(start + 2, getTime(tag)); assertEquals(start + 2, getTime(tagTagId)); }
From source file:com.googlesource.gerrit.plugins.refprotection.BackupRef.java
License:Open Source License
public void createBackup(RefUpdatedEvent event, ProjectResource project) { String refName = event.getRefName(); try (Repository git = repoManager.openRepository(project.getNameKey())) { String backupRef = get(project, refName); // No-op if the backup branch name is same as the original if (backupRef.equals(refName)) { return; }//w w w .j ava 2 s . c om try (RevWalk revWalk = new RevWalk(git)) { RefUpdateAttribute refUpdate = event.refUpdate.get(); if (cfg.getFromGerritConfig(pluginName).getBoolean("createTag", false)) { TagBuilder tag = new TagBuilder(); AccountAttribute submitter = event.submitter.get(); tag.setTagger(new PersonIdent(submitter.name, submitter.email)); tag.setObjectId(revWalk.parseCommit(ObjectId.fromString(refUpdate.oldRev))); String update = "Non-fast-forward update to"; if (refUpdate.newRev.equals(ObjectId.zeroId().getName())) { update = "Deleted"; } String type = "branch"; String fullMessage = ""; if (refUpdate.refName.startsWith(R_TAGS)) { type = "tag"; try { RevTag origTag = revWalk.parseTag(ObjectId.fromString(refUpdate.oldRev)); SimpleDateFormat format = new SimpleDateFormat("EEE MMM d HH:mm:ss yyyy ZZZZ"); PersonIdent taggerIdent = origTag.getTaggerIdent(); String tagger = String.format("Tagger: %s <%s>\nDate: %s", taggerIdent.getName(), taggerIdent.getEmailAddress(), format.format(taggerIdent.getWhen())); fullMessage = "\n\nOriginal tag:\n" + tagger + "\n\n" + origTag.getFullMessage(); } catch (MissingObjectException e) { log.warn("Original tag does not exist", e); } catch (IncorrectObjectTypeException e) { log.warn("Original tag was not a tag", e); } catch (IOException e) { log.warn("Unable to read original tag details", e); } } tag.setMessage(update + " " + type + " " + refUpdate.refName + fullMessage); tag.setTag(backupRef); ObjectInserter inserter = git.newObjectInserter(); ObjectId tagId = inserter.insert(tag); inserter.flush(); RefUpdate tagRef = git.updateRef(tag.getTag()); tagRef.setNewObjectId(tagId); tagRef.setRefLogMessage("tagged deleted branch/tag " + tag.getTag(), false); tagRef.setForceUpdate(false); Result result = tagRef.update(); switch (result) { case NEW: case FORCED: log.debug("Successfully created backup tag"); break; case LOCK_FAILURE: log.error("Failed to lock repository while creating backup tag"); break; case REJECTED: log.error("Tag already exists while creating backup tag"); break; default: log.error("Unknown error while creating backup tag"); } } else { BranchInput input = new BranchInput(); input.ref = backupRef; // We need to parse the commit to ensure if it's a tag, we get the // commit the tag points to! input.revision = ObjectId .toString(revWalk.parseCommit(ObjectId.fromString(refUpdate.oldRev)).getId()); try { createBranchFactory.create(backupRef).apply(project, input); } catch (BadRequestException | AuthException | ResourceConflictException | IOException e) { log.error(e.getMessage(), e); } } } } catch (RepositoryNotFoundException e) { log.error("Repository does not exist", e); } catch (IOException e) { log.error("Could not open repository", e); } }
From source file:org.eclipse.egit.gitflow.op.AbstractVersionFinishOperation.java
License:Open Source License
/** * @param monitor//from ww w. j av a2 s . c o m * @param head * @param name * @param message * @throws CoreException */ protected void createTag(IProgressMonitor monitor, RevCommit head, String name, String message) throws CoreException { TagBuilder tag = new TagBuilder(); tag.setTag(name); tag.setTagger(new PersonIdent(repository.getRepository())); tag.setMessage(message); tag.setObjectId(head); new TagOperation(repository.getRepository(), tag, false).execute(monitor); }
From source file:org.eclipse.egit.gitflow.op.ReleaseStartOperationTest.java
License:Open Source License
protected void createTag(RevCommit head, String name, String message, Repository repository) throws CoreException { TagBuilder tag = new TagBuilder(); tag.setTag(name);/* w ww.j av a2 s . com*/ tag.setMessage(message); tag.setObjectId(head); new TagOperation(repository, tag, false).execute(null); }
From source file:org.eclipse.egit.internal.relengtools.ReleaseWizard.java
License:Open Source License
private void tagProject(IProject project, IProgressMonitor monitor) throws Exception { monitor = new SubProgressMonitor(monitor, 1); monitor.beginTask("Tagging " + project.getName(), 1); final boolean shouldMoveTag = tagPage.isMoveButtonSelected(); final RepositoryMapping rm = RepositoryMapping.getMapping(project); final Repository repository = rm.getRepository(); final RevWalk rw = new RevWalk(repository); final RevObject target = rw.parseAny(repository.resolve(Constants.HEAD)); final PersonIdent personIdent = new PersonIdent(repository); final String tagName = tagPage.getTagString(); final TagBuilder tag = new TagBuilder(); tag.setTag(tagName);//ww w.ja v a 2s . c om tag.setTagger(personIdent); tag.setObjectId(target); final TagOperation operation = new TagOperation(repository, tag, shouldMoveTag); operation.execute(monitor); monitor.done(); }
From source file:org.eclipse.egit.ui.internal.actions.TagActionHandler.java
License:Open Source License
public Object execute(ExecutionEvent event) throws ExecutionException { repo = getRepository(true, event);//from w w w. jav a 2 s. co m if (repo == null) return null; if (!repo.getRepositoryState().canCheckout()) { MessageDialog.openError(getShell(event), UIText.TagAction_cannotCheckout, NLS.bind(UIText.TagAction_repositoryState, repo.getRepositoryState().getDescription())); return null; } String currentBranchName; try { currentBranchName = repo.getBranch(); } catch (IOException e) { Activator.handleError(UIText.TagAction_cannotGetBranchName, e, true); return null; } CreateTagDialog dialog = new CreateTagDialog(getShell(event), currentBranchName, repo); if (dialog.open() != IDialogConstants.OK_ID) return null; final TagBuilder tag = new TagBuilder(); PersonIdent personIdent = new PersonIdent(repo); String tagName = dialog.getTagName(); tag.setTag(tagName); tag.setTagger(personIdent); tag.setMessage(dialog.getTagMessage()); RevObject tagTarget; try { tagTarget = getTagTarget(dialog.getTagCommit()); } catch (IOException e1) { Activator.handleError(UIText.TagAction_unableToResolveHeadObjectId, e1, true); return null; } tag.setObjectId(tagTarget); String tagJobName = NLS.bind(UIText.TagAction_creating, tagName); final boolean shouldMoveTag = dialog.shouldOverWriteTag(); Job tagJob = new Job(tagJobName) { protected IStatus run(IProgressMonitor monitor) { try { new TagOperation(repo, tag, shouldMoveTag).execute(monitor); } catch (CoreException e) { return Activator.createErrorStatus(UIText.TagAction_taggingFailed, e); } finally { GitLightweightDecorator.refresh(); } return Status.OK_STATUS; } @Override public boolean belongsTo(Object family) { if (family.equals(JobFamilies.TAG)) return true; return super.belongsTo(family); } }; tagJob.setUser(true); tagJob.schedule(); return null; }
From source file:org.eclipse.egit.ui.internal.commit.command.CreateTagHandler.java
License:Open Source License
public Object execute(ExecutionEvent event) throws ExecutionException { List<RepositoryCommit> commits = getCommits(event); if (commits.size() == 1) { RepositoryCommit commit = commits.get(0); CreateTagDialog dialog = new CreateTagDialog(HandlerUtil.getActiveShellChecked(event), commit.getRevCommit().getId(), commit.getRepository()); if (dialog.open() != Window.OK) return null; final TagBuilder tag = new TagBuilder(); PersonIdent personIdent = new PersonIdent(commit.getRepository()); String tagName = dialog.getTagName(); tag.setTag(tagName);/*w ww . ja v a 2 s . co m*/ tag.setTagger(personIdent); tag.setMessage(dialog.getTagMessage()); tag.setObjectId(commit.getRevCommit()); try { new TagOperation(commit.getRepository(), tag, dialog.shouldOverWriteTag()) .execute(new NullProgressMonitor()); } catch (CoreException e) { throw new ExecutionException(e.getMessage(), e); } } return null; }
From source file:org.eclipse.egit.ui.internal.fetch.FetchGerritChangePage.java
License:Open Source License
private void createTag(final RefSpec spec, final String textForTag, RevCommit commit, IProgressMonitor monitor) throws CoreException { monitor.setTaskName(UIText.FetchGerritChangePage_CreatingTagTaskName); final TagBuilder tag = new TagBuilder(); PersonIdent personIdent = new PersonIdent(repository); tag.setTag(textForTag);//from w w w .ja v a 2 s . co m tag.setTagger(personIdent); tag.setMessage(NLS.bind(UIText.FetchGerritChangePage_GeneratedTagMessage, spec.getSource())); tag.setObjectId(commit); new TagOperation(repository, tag, false).execute(monitor); monitor.worked(1); }
From source file:org.eclipse.egit.ui.internal.history.command.CreateTagOnCommitHandler.java
License:Open Source License
public Object execute(ExecutionEvent event) throws ExecutionException { PlotCommit commit = (PlotCommit) getSelection(getPage()).getFirstElement(); final Repository repo = getRepository(event); CreateTagDialog dialog = new CreateTagDialog(HandlerUtil.getActiveShellChecked(event), commit.getId(), repo);/* ww w. j av a 2 s. c o m*/ if (dialog.open() != Window.OK) return null; final TagBuilder tag = new TagBuilder(); PersonIdent personIdent = new PersonIdent(repo); String tagName = dialog.getTagName(); tag.setTag(tagName); tag.setTagger(personIdent); tag.setMessage(dialog.getTagMessage()); tag.setObjectId(commit); try { new TagOperation(repo, tag, dialog.shouldOverWriteTag()).execute(new NullProgressMonitor()); } catch (CoreException e) { throw new ExecutionException(e.getMessage(), e); } return null; }