diff --git a/mercurial/destutil.py b/mercurial/destutil.py index 52d08a93de1f54a23f8fb3ebb58eb8502af699c8_bWVyY3VyaWFsL2Rlc3R1dGlsLnB5..7fc759c0c430f958ae593868b50eb78033fa7a76_bWVyY3VyaWFsL2Rlc3R1dGlsLnB5 100644 --- a/mercurial/destutil.py +++ b/mercurial/destutil.py @@ -76,6 +76,15 @@ movemark = repo['.'].node() return node, movemark, None +def _destupdatebook(repo, clean, check): + """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 + return node, movemark, activemark + def destupdate(repo, clean=False, check=False): """destination for bare update operation @@ -91,5 +100,7 @@ movemark = activemark = None node, movemark, activemark = _destupdateobs(repo, clean, check) + if node is None: + node, movemark, activemark = _destupdatebook(repo, clean, check) if node is None: @@ -94,10 +105,5 @@ if node is None: - # we also move the active bookmark, if any - node, movemark = bookmarks.calculateupdate(repo.ui, repo, None) - if node is not None: - activemark = node - if node is None: try: node = repo.branchtip(wc.branch())