diff -r 571ba161f6be -r 7cb7264cfd52 mercurial/commands.py --- a/mercurial/commands.py Sun Jan 24 00:10:19 2016 -0500 +++ b/mercurial/commands.py Thu Jan 28 20:10:06 2016 +0900 @@ -5542,8 +5542,10 @@ msg = _("not updating: %s") % str(inst) hint = inst.hint raise error.UpdateAbort(msg, hint=hint) - if not ret and not checkout: - if bookmarks.update(repo, [movemarkfrom], repo['.'].node()): + if not ret and movemarkfrom: + if movemarkfrom == repo['.'].node(): + pass # no-op update + elif bookmarks.update(repo, [movemarkfrom], repo['.'].node()): ui.status(_("updating bookmark %s\n") % repo._activebookmark) return ret if modheads > 1: