[PATCH 08 of 12] context: use labels instead of hardcoding tags and bookmarks

Pierre-Yves David pierre-yves.david at ens-lyon.org
Thu Aug 21 02:56:51 CDT 2014



On 08/18/2014 02:18 PM, Sean Farley wrote:
> # HG changeset patch
> # User Sean Farley <sean.michael.farley at gmail.com>
> # Date 1396309619 18000
> #      Mon Mar 31 18:46:59 2014 -0500
> # Node ID 5e3722e0076cc2a3c92758ff762e2916ce05e569
> # Parent  80fe2f84bc7a0d327aac7456eec8e996a3d3488d
> context: use labels instead of hardcoding tags and bookmarks
>
> diff --git a/mercurial/context.py b/mercurial/context.py
> --- a/mercurial/context.py
> +++ b/mercurial/context.py
> @@ -424,18 +424,15 @@ class changectx(basectx):
>                   self._rev = repo.changelog.rev(self._node)
>                   return
>               except (TypeError, LookupError):
>                   pass
>
> -        if changeid in repo._bookmarks:
> -            self._node = repo._bookmarks[changeid]
> -            self._rev = repo.changelog.rev(self._node)
> -            return
> -        if changeid in repo._tagscache.tags:
> -            self._node = repo._tagscache.tags[changeid]
> -            self._rev = repo.changelog.rev(self._node)
> -            return
> +        for namespace, labels in repo.alllabels().iteritems():
> +            if changeid in labels:
> +                self._node = labels[changeid]
> +                self._rev = repo.changelog.rev(self._node)
> +                return

This means that resolution is done in namespace alphabetical order this 
should probably be highlighted sooner and louder


>           try:
>               self._node = repo.branchtip(changeid)
>               self._rev = repo.changelog.rev(self._node)
>               return
>           except error.RepoLookupError:
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
>

-- 
Pierre-Yves David


More information about the Mercurial-devel mailing list