有没有办法改变如何绘制图形在TortoiseHg?

习惯了ClearCase绘制图形,我发现Mercurial和TortoiseHg的乍一看令人困惑.

This是我想要的代表:

具有分支的静态位置.例如.维护始终分支到左/右,最好是直线,而不是当前的意大利面曲线分支(见下面的链接).

This是使用TortoiseHg Explorer的外观.图表来自测试库. 🙂

有没有办法改变如何在Mercurial中绘制图形?

[编辑]

查看MacHg以及它绘制图形.这更符合我想看到的内容.

问题是,任何forking commit都会创建一个“匿名”分支(与命名的分支相反,这是一个略有不同的概念),默认的图形视图不能在没有很好的ids的静态列中放置提交.因此,实施者放弃了我们现在的图表.

现在,我认为你给出的第一个视图是非常棒的,应该有可能使用一些启发式方式将ids分配给匿名分支,这取决于(developer1-a,developer2-a,developer2-b等).那会很酷:)

贡献时间!

更新

我想看看:

>提交按提交时间垂直排序,而不是修订整数.
>提交按水平排序,按命名分支分组,每个分支中的每个提交者. (每个提交者的提交都应该靠近,以防一个提交者分叉并合并自己的数据.)

这意味着在填充视图并将提交“点”放置在右列/行之前,算法必须查看所有提交(即要查看).

所有提交的三遍都应该是足够的,每个都可以在O(n)时间完成,这是O(n)的一切:

>走全部收集数据(收集分支/提交者)(O(n))
>分支/提交到合适的列顺序
>通过提交时间(O(n log n)或更好的O(n))按提交时间(从日期开始的秒数)进行排序提交)
>根据分组进行提交和绘制点和祖先线

也许我们需要在提交之间路由路线时要聪明(呃),但还有待观察.特别是,我们可以使用提交点之间的垂直空间来连接垂直(即时间上)远距离的合并,而不是像当前的算法一样使用整个列

相关文章
相关标签/搜索