[PATCH RFC] repoview: add tags to candidate list for blocking hidden changesets

Sean Farley sean.michael.farley at gmail.com
Tue Mar 18 20:56:14 CDT 2014


Pierre-Yves David <pierre-yves.david at ens-lyon.org> writes:

> On 03/18/2014 06:11 PM, Sean Farley wrote:
>> # HG changeset patch
>> # User Sean Farley <sean.michael.farley at gmail.com>
>> # Date 1395191433 18000
>> #      Tue Mar 18 20:10:33 2014 -0500
>> # Node ID 9d9821e223edb30fa8dd173f31ea376f2b19dde6
>> # Parent  efbf15979538a1e32fb70bf89de7c60f8ead5909
>> repoview: add tags to candidate list for blocking hidden changesets
>>
>> Previously, only bookmarks would be considered for blocking a changeset from
>> being hidden. Now, we also consider tags. This is helpful if we have local tags
>> that might be hard to find once they are hidden.
>>
>> diff --git a/mercurial/repoview.py b/mercurial/repoview.py
>> --- a/mercurial/repoview.py
>> +++ b/mercurial/repoview.py
>> @@ -33,10 +33,12 @@ def computehidden(repo):
>>           blockers = [r for r in tofilter if r not in hideable]
>>           for par in repo[None].parents():
>>               blockers.append(par.rev())
>>           for bm in repo._bookmarks.values():
>>               blockers.append(repo[bm].rev())
>> +        for t in repo.tags().values():
>> +            blockers.append(repo[t].rev())
>>           blocked = cl.ancestors(blockers, inclusive=True)
>>           return frozenset(r for r in hideable if r not in blocked)
>>       return frozenset()
>>
>>   def computeunserved(repo):
>
> You cannot blindly use all tags here. That would make it impossible to 
> prune changeset tagged in an hidden one.
>
> Keeping changeset with -local- tag visible would make sense however.

Fair enough. Local tags is what I was envisioning for remote bookmarks
anyway.


More information about the Mercurial-devel mailing list