public static final String ID = "org.eclipse.egit.ui.commit.CreateTag"; //$NON-NLS-1$
public Object execute(ExecutionEvent event) throws ExecutionException {
List<RepositoryCommit> commits = getCommits(event);
if (commits.size() == 1) {
RepositoryCommit commit = commits.get(0);
Repository repository = commit.getRepository();
CreateTagDialog dialog = new CreateTagDialog(
HandlerUtil.getActiveShellChecked(event), commit
.getRevCommit().getId(), repository);
if (dialog.open() != Window.OK)
return null;
final TagBuilder tag = new TagBuilder();
PersonIdent personIdent = new PersonIdent(repository);
String tagName = dialog.getTagName();
tag.setTag(tagName);
tag.setTagger(personIdent);
tag.setMessage(dialog.getTagMessage());
tag.setObjectId(commit.getRevCommit());
try {
new TagOperation(repository, tag,
dialog.shouldOverWriteTag())
.execute(new NullProgressMonitor());