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

Pierre-Yves David pierre-yves.david at ens-lyon.org
Tue Mar 18 20:38:17 CDT 2014



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.

-- 
Pierre-Yves David





More information about the Mercurial-devel mailing list