Mercurial > public > mercurial-scm > hg-stable
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'): |