[PATCH 4 of 9 RFC] localrepo: add a method to return markers ina namespacee
Sean Farley
sean.michael.farley at gmail.com
Wed Apr 2 16:20:35 CDT 2014
Matt Mackall <mpm at selenic.com> writes:
> On Wed, 2014-04-02 at 12:01 -0500, Sean Farley wrote:
>> Matt Mackall <mpm at selenic.com> writes:
>>
>> > On Mon, 2014-03-31 at 17:41 +0000, David Soria Parra wrote:
>> >> Sean Farley <sean.michael.farley at gmail.com> writes:
>> >>
>> >> > # HG changeset patch
>> >> > # User Sean Farley <sean.michael.farley at gmail.com>
>> >> > # Date 1396218396 18000
>> >> > # Sun Mar 30 17:26:36 2014 -0500
>> >> > # Node ID 0c5c36fe392d9dfbc56ac466e312a62bdeb2bf93
>> >> > # Parent 1bb668ecda482ee83f31d505c2094e6402668931
>> >> > localrepo: add a method to return markers in a namespace
>> >> >
>> >> > diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py
>> >> > --- a/mercurial/localrepo.py
>> >> > +++ b/mercurial/localrepo.py
>> >> > @@ -671,10 +671,37 @@ class localrepository(object):
>> >> > RFC: should we allow tags and bookmarks to be set this way?
>> >> > '''
>> >> > self._createmarkernamespace(namespace)
>> >> > self._markers[namespace][name] = node
>> >> >
>> >> > + def markers(self, namespace=None, name=None):
>> >> > + '''Return markers in the namespace, otherwise return all markers.
>> >> > +
>> >> > + If namespace is None, this will return a dictionary of dictionaries.
>> >> > +
>> >> > + If namespace is passed but name is None, this function will return a
>> >> > + dictionary.
>> >> > +
>> >> > + If both namespace and name are passed, this will return a value.
>> >
>> > This is a bit too polymorphic an API: it has three return types (dict of
>> > dicts, dict, and value).
>>
>> Agreed. What about the name, though?
>
> If we agree that the shape of this function is:
>
> no args -> dictionary of name, hash pairs
>
> ..it's fine. But then we have questions about what to do with
> collisions. Perhaps all we really need is marked() -> set of nodes that
> have some form of marker.
Sorry, I didn't clarify what I meant. It seems that 'marker' is not a
good name because there is a clash with 'obsolete marker'. In another
thread, I present the word 'label':
http://www.selenic.com/pipermail/mercurial-devel/2014-March/057599.html
More information about the Mercurial-devel
mailing list