diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -2515,6 +2515,8 @@ def tag(ui, repo, name, rev_=None, **opt rev_ = opts['rev'] message = opts['message'] if opts['remove']: + if not name in repo.tags(): + raise util.Abort(_('tag %s does not exist') % name) rev_ = nullid if not message: message = _('Removed tag %s') % name