diff -r c808862f2e6e -r 9343fce87789 mercurial/bookmarks.py --- a/mercurial/bookmarks.py Fri Jun 23 15:30:27 2017 -0400 +++ b/mercurial/bookmarks.py Mon Jun 12 23:02:48 2017 -0700 @@ -691,3 +691,17 @@ "whitespace")) scmutil.checknewlabel(repo, mark, 'bookmark') return mark + +def delete(repo, tr, names): + """remove a mark from the bookmark store + + Raises an abort error if mark does not exist. + """ + marks = repo._bookmarks + for mark in names: + if mark not in marks: + raise error.Abort(_("bookmark '%s' does not exist") % mark) + if mark == repo._activebookmark: + deactivate(repo) + del marks[mark] + marks.recordchange(tr)