Hello dear TortoiseHG friends,

I might be observing a bug in the THG graph rendering algorithm.

When clicking on "show file history" for a file in a repo I have,
I am getting this: http://i.imgur.com/vqknt3B.png

In this graph, edges means "descendant of" (as opposed to "child of").
If you look at the relationship between csets 16184, 16193 and 16437
you will see something that makes no sense: if the graph is

16184 ---> 16193 ---> 16437

then the arrow 16184 ---> 16437 should not exist since
it's implied by transitivity.

Yuya once explained me that the "show file history" functionality
is based on the filelog() mercurial revset function.
I have empirically observed that in this case the graph produced is
the same as the mercurial command

hg log --graph --follow path/to/file

so I run a debugger on that and got the internal representation of
the "descendancy" graph as computed by hg which is

[(16437, [14445, 16184, 15151, 15527, 15966, 16193]),
 (16193, [14445, 15151, 15527, 15966, 16184, 16191]),
 (16191, [14445, 15151, 15527, 15966, 16187]),
 (16187, [14445]),
 (16184, [15966]),
 (15966, [14445, 15527]),
 (15527, [15526]),
 (15526, [15151]),
 (15151, [14445]),
 (14445, [13492])]

where each tuple of the list is of the form (changeset, parents).
One can imagine that THG computes the minimal sets of edges
so that those parentship relationships are satisfied...
but in my case one more edge is produced.

Am I missing something?

Cheers,
GGhh
------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Tortoisehg-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss

Reply via email to