diff --git a/mercurial/bookmarks.py b/mercurial/bookmarks.py --- a/mercurial/bookmarks.py +++ b/mercurial/bookmarks.py @@ -349,8 +349,8 @@ return heads def calculateupdate(ui, repo, checkout): - '''Return a tuple (targetrev, movemarkfrom) indicating the rev to - check out and where to move the active bookmark from, if needed.''' + '''Return a tuple (activemark, movemarkfrom) indicating the active bookmark + and where to move the active bookmark from, if needed.''' movemarkfrom = None if checkout is None: activemark = repo._activebookmark diff --git a/mercurial/destutil.py b/mercurial/destutil.py --- a/mercurial/destutil.py +++ b/mercurial/destutil.py @@ -55,10 +55,10 @@ def _destupdatebook(repo, clean): """decide on an update destination from active bookmark""" # we also move the active bookmark, if any - activemark = None - node, movemark = bookmarks.calculateupdate(repo.ui, repo, None) - if node is not None: - activemark = node + node = None + activemark, movemark = bookmarks.calculateupdate(repo.ui, repo, None) + if activemark is not None: + node = repo.lookup(activemark) return node, movemark, activemark def _destupdatebranch(repo, clean):