[PATCH 0 of 3] Alternative graph web interface to better handle named branches

Degrassi Francesco francesco.degrassi at emaze.net
Tue Aug 17 03:07:26 CDT 2010


Hi!
Il 17 agosto 2010 alle 8.40 Dirkjan Ochtman <dirkjan at ochtman.nl> ha scritto:
> Okay, but I don't think we want to graph pages in hgweb. Most of your
> features sound like things we'd want for the graph anyway, though. Do
> you have the opportunity to help think this through and see if we can
> come up with a unified model satisfying all the use cases? In
> particular:
>
> * be as simple as possible, but no simpler

I'm glad to contribute, even if a got not much time at my disposal.
About simplicity, i tried hard to simplify it in several steps and hope to have
come up with a linear, relatively simple solution. 

> * have good performance (currently O(changesets) with fairly low constant)

The implementation is O(n), tested against current graph implementation, and it
has a (very) slightly higher constant. Scales well up to the number of
changesets that size constraints of canvas html element allow me to plot anyway.

> * work for repos with or without named branches

I'd like feedback from someone who uses their repo with high concurrency and few
or no named branches; personally I find it good enough up to 4/5 anonymous
branches, more would require to increase distance between anon branches and
maybe come up with a subcoloring scheme for them.

> * have colors that are easily distinguishable for the first 5 or 6 branches

I tried to come up with at least 10 distinguishable colors (for the named
branches), but as i said it would need help from someone fluent in HTML/CSS and
with "visual" good taste.

> After initially writing the graph support, I haven't been spending> much time
> on it, so it's definitely overdue for improvement. I wonder
> if the THG guys can enlighten us with information on how they do their
> graph/what kind of features it supports?

I've never used thg graphing functionality, will take a look to better consider
alternative strategies. 

> Is this the only config option, or are there more?

That is the only config option currently supported.

Regards

Francesco


More information about the Mercurial-devel mailing list