[PATCH] obsfate: makes successorsetverb takes the markers as argument

Pulkit Goyal 7895pulkit at gmail.com
Thu Nov 2 16:33:33 EDT 2017


Is there any difference between this one and the one you send before
the freeze on Phabricator?

On Thu, Nov 2, 2017 at 6:28 PM, Boris Feld <boris.feld at octobus.net> wrote:
> # HG changeset patch
> # User Boris Feld <boris.feld at octobus.net>
> # Date 1508409347 -7200
> #      Thu Oct 19 12:35:47 2017 +0200
> # Node ID b5b9f31a676701ca272c10fc2630e4587413e4e7
> # Parent  3ce0e4b51f789eff195ec900a07c1fa5e8d5c5f2
> # EXP-Topic fix-obsfate
> # Available At https://bitbucket.org/octobus/mercurial-devel/
> #              hg pull https://bitbucket.org/octobus/mercurial-devel/ -r b5b9f31a6767
> obsfate: makes successorsetverb takes the markers as argument
>
> Right now, successorsetverb only needs successors to compute the verb. But we
> will want use additional information (effect-flags and operation) in the near
> future to compute a better verb.
>
> Add the markers parameter now so extensions (like Evolve) could wrap the
> function and start experimenting around better obsfate verbs.
>
> As successorsetverb now takes both successorset and markers parameters, rename
> it to obsfateverb, successorsetandmarkersverb was too long.
>
> Differential Revision: https://phab.mercurial-scm.org/D1191
>
> diff --git a/mercurial/obsutil.py b/mercurial/obsutil.py
> --- a/mercurial/obsutil.py
> +++ b/mercurial/obsutil.py
> @@ -751,8 +751,9 @@ def successorsandmarkers(repo, ctx):
>
>      return values
>
> -def successorsetverb(successorset):
> -    """ Return the verb summarizing the successorset
> +def obsfateverb(successorset, markers):
> +    """ Return the verb summarizing the successorset and potentially using
> +    information from the markers
>      """
>      if not successorset:
>          verb = 'pruned'
> @@ -795,7 +796,7 @@ def obsfateprinter(successors, markers,
>      line = []
>
>      # Verb
> -    line.append(successorsetverb(successors))
> +    line.append(obsfateverb(successors, markers))
>
>      # Operations
>      operations = markersoperations(markers)
> diff --git a/mercurial/templater.py b/mercurial/templater.py
> --- a/mercurial/templater.py
> +++ b/mercurial/templater.py
> @@ -1005,17 +1005,18 @@ def obsfateusers(context, mapping, args)
>                  "obsmakers")
>          raise error.ParseError(msg)
>
> - at templatefunc('obsfateverb(successors)')
> + at templatefunc('obsfateverb(successors, markers)')
>  def obsfateverb(context, mapping, args):
>      """Compute obsfate related information based on successors (EXPERIMENTAL)"""
> -    if len(args) != 1:
> +    if len(args) != 2:
>          # i18n: "obsfateverb" is a keyword
> -        raise error.ParseError(_("obsfateverb expects one arguments"))
> +        raise error.ParseError(_("obsfateverb expects two arguments"))
>
>      successors = evalfuncarg(context, mapping, args[0])
> +    markers = evalfuncarg(context, mapping, args[1])
>
>      try:
> -        return obsutil.successorsetverb(successors)
> +        return obsutil.obsfateverb(successors, markers)
>      except TypeError:
>          # i18n: "obsfateverb" is a keyword
>          errmsg = _("obsfateverb first argument should be countable")
> diff --git a/tests/test-obsmarker-template.t b/tests/test-obsmarker-template.t
> --- a/tests/test-obsmarker-template.t
> +++ b/tests/test-obsmarker-template.t
> @@ -13,7 +13,7 @@ Global setup
>    > evolution=true
>    > [templates]
>    > obsfatesuccessors = "{if(successors, " as ")}{join(successors, ", ")}"
> -  > obsfateverb = "{obsfateverb(successors)}"
> +  > obsfateverb = "{obsfateverb(successors, markers)}"
>    > obsfateoperations = "{if(obsfateoperations(markers), " using {join(obsfateoperations(markers), ", ")}")}"
>    > obsfateusers = "{if(obsfateusers(markers), " by {join(obsfateusers(markers), ", ")}")}"
>    > obsfatedate = "{if(obsfatedate(markers), "{ifeq(min(obsfatedate(markers)), max(obsfatedate(markers)), " (at {min(obsfatedate(markers))|isodate})", " (between {min(obsfatedate(markers))|isodate} and {max(obsfatedate(markers))|isodate})")}")}"
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


More information about the Mercurial-devel mailing list