diff --git a/mercurial/hg.py b/mercurial/hg.py index 75b43843eb4d4302f4584034e2e629e1edafe1a9_bWVyY3VyaWFsL2hnLnB5..c9339efed65307d619cf9ff9b90bc47df8b08d34_bWVyY3VyaWFsL2hnLnB5 100644 --- a/mercurial/hg.py +++ b/mercurial/hg.py @@ -409,7 +409,6 @@ if update: if update is not True: checkout = srcpeer.lookup(update) - for test in (checkout, '@', 'default', 'tip'): - if test is None: - continue + uprev = None + if checkout is not None: try: @@ -415,4 +414,3 @@ try: - uprev = destrepo.lookup(test) - break + uprev = destrepo.lookup(checkout) except error.RepoLookupError: @@ -418,5 +416,13 @@ except error.RepoLookupError: - continue + pass + if uprev is None: + try: + uprev = destrepo._bookmarks['@'] + except KeyError: + try: + uprev = destrepo.branchtip('default') + except error.RepoLookupError: + uprev = destrepo.lookup('tip') bn = destrepo[uprev].branch() destrepo.ui.status(_("updating to branch %s\n") % bn) _update(destrepo, uprev) diff --git a/tests/test-hardlinks.t b/tests/test-hardlinks.t index 75b43843eb4d4302f4584034e2e629e1edafe1a9_dGVzdHMvdGVzdC1oYXJkbGlua3MudA==..c9339efed65307d619cf9ff9b90bc47df8b08d34_dGVzdHMvdGVzdC1oYXJkbGlua3MudA== 100644 --- a/tests/test-hardlinks.t +++ b/tests/test-hardlinks.t @@ -197,7 +197,6 @@ 2 r4/.hg/00changelog.i 2 r4/.hg/branch 2 r4/.hg/cache/branchheads - 2 r4/.hg/cache/tags 2 r4/.hg/dirstate 2 r4/.hg/hgrc 2 r4/.hg/last-message.txt @@ -228,7 +227,6 @@ 2 r4/.hg/00changelog.i 1 r4/.hg/branch 2 r4/.hg/cache/branchheads - 2 r4/.hg/cache/tags 1 r4/.hg/dirstate 2 r4/.hg/hgrc 2 r4/.hg/last-message.txt