[PATCH 1 of 7 V3] templatekw: introduce obsfate keyword

Boris Feld boris.feld at octobus.net
Wed Oct 18 09:36:07 EDT 2017


On Wed, 2017-10-18 at 22:12 +0900, Yuya Nishihara wrote:
> On Tue, 17 Oct 2017 17:14:02 +0200, Boris Feld wrote:
> > # HG changeset patch
> > # User Boris Feld <boris.feld at octobus.net>
> > # Date 1507218176 -7200
> > #      Thu Oct 05 17:42:56 2017 +0200
> > # Node ID fc6e8b2484a3eaedd9e4b8ec10f3728b57bfbebe
> > # Parent  68e0bcb903572cb3641c1b1ac11bdcf47d4ff5ac
> > # EXP-Topic obsfatekeyword
> > # Available At https://bitbucket.org/octobus/mercurial-devel/
> > #              hg pull https://bitbucket.org/octobus/mercurial-deve
> > l/ -r fc6e8b2484a3
> > templatekw: introduce obsfate keyword
> 
> Queued the series, thanks.

Thank you, I will send the required follow-up right now and prepare the
others for after the release.

> 
> > +def obsfateprinter(successors, markers, ui):
> > +    """ Build a obsfate string for a single successorset using all
> > obsfate
> > +    related function defined in obsutil
> > +    """
> > +    line = []
> > +
> > +    # Verb
> > +    line.append(successorsetverb(successors))
> > +
> > +    # Operations
> > +    operations = markersoperations(markers)
> > +    if operations:
> > +        line.append(" using %s" % ", ".join(operations))
> > +
> > +    # Successors
> > +    if successors:
> > +        fmtsuccessors = [successors.joinfmt(succ) for succ in
> > successors]
> 
> We'll make it not depend on templater stuff because this function
> will be
> called by changeset_printer. Please send a follow up after the
> release.
> 
> > +        line.append(" as %s" % ", ".join(fmtsuccessors))
> > +
> > +    # Users
> > +    users = markersusers(markers)
> > +
> > +    if users:
> > +        line.append(" by %s" % ", ".join(users))
> 
> These "using" "as" "by" will need to be translated at once. Please
> send a
> follow up after the release.
> 
> > +    # Date
> > +    dates = markersdates(markers)
> > +
> > +    min_date = min(dates)
> > +    max_date = max(dates)
> 
> If dates is empty, ValueError will be raised. Please send a follow
> up.
> 
> And our coding style still discourage the use of underscore.
> https://www.mercurial-scm.org/wiki/CodingStyle#Naming_conventions
> 
> > +    if min_date == max_date:
> > +        fmtmin_date = util.datestr(min_date, '%Y-%m-%d %H:%M
> > %1%2')
> > +        line.append(" (at %s)" % fmtmin_date)
> > +    else:
> > +        fmtmin_date = util.datestr(min_date, '%Y-%m-%d %H:%M
> > %1%2')
> > +        fmtmax_date = util.datestr(max_date, '%Y-%m-%d %H:%M
> > %1%2')
> > +        line.append(" (between %s and %s)" % (fmtmin_date,
> > fmtmax_date))
> > +
> > +    return "".join(line)
> > diff --git a/mercurial/templatekw.py b/mercurial/templatekw.py
> > --- a/mercurial/templatekw.py
> > +++ b/mercurial/templatekw.py
> > @@ -600,6 +600,24 @@
> >      # rev and node are completely different from changeset's.
> >      return _mappable(f, None, f, lambda x: {'rev': mrev, 'node':
> > mhex})
> >  
> > + at templatekeyword('obsfate')
> > +def showobsfate(**args):
> > +    """ this function returns a list containing pre-formatted
> > obsfate strings.
> > +
> > +    This function will be replaced by templates fragments when we
> > will have
> > +    the verbosity templatekw available.
> > +    """
> 
> Changed this to a comment to hide {ofsfate} in help.


More information about the Mercurial-devel mailing list