3971 # The list of bookmark used here is not the one used to actually |
3971 # The list of bookmark used here is not the one used to actually |
3972 # update the bookmark name. This can result in the revision pulled |
3972 # update the bookmark name. This can result in the revision pulled |
3973 # not ending up with the name of the bookmark because of a race |
3973 # not ending up with the name of the bookmark because of a race |
3974 # condition on the server. (See issue 4689 for details) |
3974 # condition on the server. (See issue 4689 for details) |
3975 remotebookmarks = other.listkeys('bookmarks') |
3975 remotebookmarks = other.listkeys('bookmarks') |
|
3976 remotebookmarks = bookmarks.unhexlifybookmarks(remotebookmarks) |
3976 pullopargs['remotebookmarks'] = remotebookmarks |
3977 pullopargs['remotebookmarks'] = remotebookmarks |
3977 for b in opts['bookmark']: |
3978 for b in opts['bookmark']: |
3978 b = repo._bookmarks.expandname(b) |
3979 b = repo._bookmarks.expandname(b) |
3979 if b not in remotebookmarks: |
3980 if b not in remotebookmarks: |
3980 raise error.Abort(_('remote bookmark %s not found!') % b) |
3981 raise error.Abort(_('remote bookmark %s not found!') % b) |
3981 revs.append(remotebookmarks[b]) |
3982 revs.append(hex(remotebookmarks[b])) |
3982 |
3983 |
3983 if revs: |
3984 if revs: |
3984 try: |
3985 try: |
3985 # When 'rev' is a bookmark name, we cannot guarantee that it |
3986 # When 'rev' is a bookmark name, we cannot guarantee that it |
3986 # will be updated with that name because of a race condition |
3987 # will be updated with that name because of a race condition |