[PATCH 2 of 2] revset: have rev() validate input by repo.__contains__()
pierre-yves.david at ens-lyon.org
Mon Feb 2 16:17:21 CST 2015
On 02/02/2015 03:29 PM, Yuya Nishihara wrote:
> On Mon, 02 Feb 2015 14:23:42 +0000, Pierre-Yves David wrote:
>> On 02/02/2015 02:15 PM, Yuya Nishihara wrote:
>>> # HG changeset patch
>>> # User Yuya Nishihara <yuya at tcha.org>
>>> # Date 1420884012 -32400
>>> # Sat Jan 10 19:00:12 2015 +0900
>>> # Node ID d247b985ebc0acdb837bc89288c8569151446620
>>> # Parent 184aa519a7a72ab10361d91f66455e3cea8f4f50
>>> revset: have rev() validate input by repo.__contains__()
>>> fullreposet.__contains__() will be rewritten in order to support "null"
>>> revision, so "rev()" can't rely on it.
>> Note that this change broke some of the Mercurial extension (because
>> ::nullrev stopped being empty). So we have to be careful (even if this
>> change makes sense).
> "::null" should work as long as the repository has no hidden revision, i.e.
> len(subset) == len(repo).
The specific instance of the breakage was code using "null" as a special
value and relying on revset being empty in that case. Not expecting a -1
value. There may be other related bug lurking in internal code using revset.
More information about the Mercurial-devel