comparison mercurial/commands.py @ 42129:232a33a11ce0

pull: deal with locally filtered changeset passed into --rev Nowadays, it is possible to explicitly pull a remote revision that end up being hidden locally (eg: obsoleted locally). However before this patch, some internal processing where crashing trying to resolve a filtered revision. Without this patches, the pull output result a confusing output: $ hg pull ../repo-Bob --rev 956063ac4557 pulling from ../repo-Bob searching for changes adding changesets adding manifests adding file changes added 2 changesets with 0 changes to 2 files (+1 heads) (2 other changesets obsolete on arrival) abort: 00changelog.i@956063ac4557828781733b2d5677a351ce856f59: filtered node!
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 05 Apr 2019 15:56:05 +0200
parents d6437f414437
children a362b0b95e42
comparison
equal deleted inserted replaced
42128:537a8aeb9977 42129:232a33a11ce0
4486 # the end of the update. In other words, it is an explicit 4486 # the end of the update. In other words, it is an explicit
4487 # destination of the update 4487 # destination of the update
4488 brev = None 4488 brev = None
4489 4489
4490 if checkout: 4490 if checkout:
4491 checkout = repo.changelog.rev(checkout) 4491 checkout = repo.unfiltered().changelog.rev(checkout)
4492 4492
4493 # order below depends on implementation of 4493 # order below depends on implementation of
4494 # hg.addbranchrevs(). opts['bookmark'] is ignored, 4494 # hg.addbranchrevs(). opts['bookmark'] is ignored,
4495 # because 'checkout' is determined without it. 4495 # because 'checkout' is determined without it.
4496 if opts.get('rev'): 4496 if opts.get('rev'):