[PATCH] Draw default branch on graph with bold line

Constantine theaspect at gmail.com
Thu Jan 5 21:50:38 CST 2012


Thank, I will fix problems soon. Does mercurial have developer's guide? I
removed color settings because I didn't come up, how to distinguish
multiple heads of same branch. Or, maybe, just draw it with same color?

2012/1/6 Matt Mackall <mpm at selenic.com>

> On Fri, 2012-01-06 at 09:17 +0600, Constantine wrote:
> > # HG changeset patch
> > # User Constantine Linnick <theaspect at gmail.com>
> > # Date 1325818775 -25200
> > # Node ID 3bc9c187e173544a33080eafb9372bc9bef229d0
> > # Parent  371cff9610cdf6d6a7e1a6238ce75441b8107f03
> > Draw default branch on graph with bold line
>
> See ContributingChanges on the wiki for how to write summaries.
>
> > diff -r 371cff9610cd -r 3bc9c187e173 mercurial/graphmod.py
> > --- a/mercurial/graphmod.py    Tue Jan 03 17:13:03 2012 -0600
> > +++ b/mercurial/graphmod.py    Fri Jan 06 09:59:35 2012 +0700
> > @@ -16,7 +16,6 @@
> >  context of the graph returned. Type is a constant specifying the node
> type.
> >  Data depends on type.
> >  """
> > -
>
> Don't change anything unrelated to $SUMMARY, please. No bug fixes, no
> spelling fixes, no coding style fixes, no whitespace fiddling, nothing.
>
> >  from mercurial.node import nullrev
> >
> >  CHANGESET = 'C'
> > @@ -67,7 +66,7 @@
> >          parents = set([p.rev() for p in ctx.parents() if p.node() in
> > include])
> >          yield (ctx.rev(), CHANGESET, ctx, sorted(parents))
> >
> > -def colored(dag):
> > +def colored(dag,repo):
>
> Missing space. This fails check-code, which means your code is untested.
>
> >      """annotates a DAG with colored edge information
> >
> >      For each DAG node this function emits tuples::
> > @@ -83,6 +82,11 @@
> >      seen = []
> >      colors = {}
> >      newcolor = 1
> > +    defaults = {}
> > +
> > +    for (branch, style) in repo.ui.configitems('graph'):
>
> No parens for unpacking tuples, please..
>
> > +        defaults[branch] = style.split()
> > +
> >      for (cur, type, data, parents) in dag:
>
> ..even if someone else nearby is doing it wrong too.
>
> >
> >          # Compute seen and next
> > @@ -111,10 +115,10 @@
> >          edges = []
> >          for ecol, eid in enumerate(seen):
> >              if eid in next:
> > -                edges.append((ecol, next.index(eid), colors[eid]))
> > +                edges.append((ecol, next.index(eid), colors[eid],
> > defaults[repo[eid].branch()] if defaults.has_key(repo[eid].branch()) else
> > None))
>
> Line to long. if/else syntax not available in Py2.4.
>
> >              elif eid == cur:
> >                  for p in parents:
> > -                    edges.append((ecol, next.index(p), color))
> > +                    edges.append((ecol, next.index(p), color,
> > defaults[repo[p].branch()] if defaults.has_key(repo[eid].branch()) else
> > None))
> >
> >          # Yield and move on
> >          yield (cur, type, data, (col, color), edges)
> > diff -r 371cff9610cd -r 3bc9c187e173 mercurial/help/config.txt
> > --- a/mercurial/help/config.txt    Tue Jan 03 17:13:03 2012 -0600
> > +++ b/mercurial/help/config.txt    Fri Jan 06 09:59:35 2012 +0700
> > @@ -534,6 +534,23 @@
> >      option ensures that the on-disk format of newly created
> >      repositories will be compatible with Mercurial before version 1.7.
> >
> > +``graph``
> > +"""""""""
> > +
> > +This section specifies branch names which will be enbolden on graph
>
> I think you meant "emboldened", but I don't think that's the ideal usage
> here.
>
> > +to visually distinguish "main branch" or trunk in central repository
> > +graph.
> > +
> > +Format branch_name = number, where number is width in px. If width
> > +is not specified, it will be 3px width.
> > +
> > +Example::
> > +  [graph]
> > +  default = 2px
> > +  # graph line will be 3px width
> > +  stable =
>
> The moment anyone sees this, they'll want to set colors too, so I'll
> need to see a plan for that syntax before I can accept this.
>
> > +
> > +
> >  ``merge-patterns``
> >  """"""""""""""""""
> >
> > diff -r 371cff9610cd -r 3bc9c187e173 mercurial/hgweb/webcommands.py
> > --- a/mercurial/hgweb/webcommands.py    Tue Jan 03 17:13:03 2012 -0600
> > +++ b/mercurial/hgweb/webcommands.py    Fri Jan 06 09:59:35 2012 +0700
> > @@ -770,7 +770,7 @@
> >          startrev = uprev
> >
> >      dag = graphmod.dagwalker(web.repo, range(startrev, downrev - 1, -1))
> > -    tree = list(graphmod.colored(dag))
> > +    tree = list(graphmod.colored(dag,web.repo))
>
> Missing space.
>
> >      canvasheight = (len(tree) + 1) * bg_height - 27
> >      data = []
> >      for (id, type, ctx, vtx, edges) in tree:
> > diff -r 371cff9610cd -r 3bc9c187e173
> mercurial/templates/static/mercurial.js
> > --- a/mercurial/templates/static/mercurial.js    Tue Jan 03 17:13:03 2012
> > -0600
> > +++ b/mercurial/templates/static/mercurial.js    Fri Jan 06 09:59:35 2012
> > +0700
> > @@ -113,8 +113,13 @@
> >                  x1 = this.cell[0] + this.box_size * end + this.box_size
> /
> > 2;
> >                  y1 = this.bg[1] + this.bg_height / 2;
> >
> > -                this.edge(x0, y0, x1, y1, color);
> > -
> > +                if(line[3]){
> > +                    this.ctx.lineWidth = line[3][0] ? line[3][0] : 3;
> > +                    this.edge(x0, y0, x1, y1, color);
> > +                    this.ctx.lineWidth = 1;
> > +                }else{
> > +                    this.edge(x0, y0, x1, y1, color);
> > +                }
> >              }
> >
> >              // Draw the revision node in the right column
> > _______________________________________________
> > Mercurial-devel mailing list
> > Mercurial-devel at selenic.com
> > http://selenic.com/mailman/listinfo/mercurial-devel
>
>
> --
> Mathematics is the supreme nostalgia of our time.
>
>
>


-- 
With Best Regards,
Constantine
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial-devel/attachments/20120106/a0242623/attachment.html>


More information about the Mercurial-devel mailing list