[PATCH STABLE] bookmarks: use try/except for accessing a node
Sean Farley
sean.michael.farley at gmail.com
Tue Mar 18 20:20:44 CDT 2014
Gregory Szorc <gregory.szorc at gmail.com> writes:
> On Mar 18, 2014, at 17:35, Pierre-Yves David <pierre-yves.david at ens-lyon.org> wrote:
>>
>>
>>
>>> On 03/18/2014 05:23 PM, Sean Farley wrote:
>>> # HG changeset patch
>>> # User Sean Farley <sean.michael.farley at gmail.com>
>>> # Date 1395182192 18000
>>> # Tue Mar 18 17:36:32 2014 -0500
>>> # Branch stable
>>> # Node ID 8d3d12401c38524417f1151b817fd210645a0602
>>> # Parent 03774a2b6991b451bde7095238fde9ce98380d28
>>> bookmarks: use try/except for accessing a node
>>>
>>> Previously, in bookmarks.compare a changeset node would be tested via 'node in
>>> repo' but this is tricky. A value of 'True' could be returned even if the node
>>> is hidden and accessing it will throw a 'RepoLookupError'. This happens when a
>>> remote bookmark points to changeset that has been obsoleted locally. Therefore,
>>> we wrap the block in a try/except which handles catching the error.
>>
>> 1. `<node> in repo` should not return True if the revision is filtered.
>> Consider fixing this instead.
>>
>> 2. During bookmark pulling, a bookmark should cleanly apply on a
>> filtered changeset making it visible again.
>> Consider fixing this instead.
>>
>> 3. There is multiple example of test using public changeset in
>> test-obsolete.t You should be able to build a test case from that.
>
> I didn't have a problem writing the test: I had a problem getting the issue to reproduce!
>
> It got me thinking that this might be an issue triggered by an extension.
Yes, exactly, this was my issue as well.
More information about the Mercurial-devel
mailing list