2010-10-07 39 views
13

已經習慣了ClearCase如何繪製圖表我發現Mercurial和TortoiseHg的方式讓人眼花繚亂。有沒有什麼方法可以改變圖形在TortoiseHg中的繪製方式?

This是我怎麼想它表示: Static position for branches (good) 隨着分支機構靜態位置。例如。維護分支左/右始終,最好是直線,而不是現在的意大利麪條彎曲分支(見下面的鏈接)。

This是它如何使用TortoiseHg資源管理器。該圖來自測試存儲庫。 :-) Graph in TortoiseHg (bad)

有什麼方法可以改變圖表在Mercurial中的繪製方式嗎?

[編輯]

退房MacHg以及如何繪製圖表。這更符合我想看到我自己的情況。 static/stable graph in MacHg

+0

有關如何使TortoiseHG顯示分支的靜態位置的任何更新? – tkokasih 2015-07-09 01:53:00

+0

@wannabeprogrammer沒有從我的部分。自從我寫這個問題以來,我學會了停止思考分支(ClearCase或Subversion風格),而是將其視爲書籤。切換到Git幫助了這一點。 – MdaG 2015-07-09 09:09:28

回答

5

的問題是,任何分叉提交創建一個「匿名」分支(相對於名爲分支,這是一個稍微不同的概念),並且默認圖表視圖不能地方提交靜態列沒有好的ID。因此,實現者放棄了,我們有當前的圖。

現在,我認爲您給出的第一個視圖非常棒,應該可以使用一些啓發式方法將id分配給匿名分支,具體取決於(developer1-a,developer2-a,developer2-b等)。那很酷。 :)

貢獻時間!

更新

我希望看到什麼:

  • 提交垂直分類按提交時間,而不是修訂整數ID。
  • 提交水平排序,按命名分支分組,每個分支內每個提交者分組。 (以及每個提交者提交應該是附近的情況下,提交者已經分叉和合並自己的數據。)

這意味着一個算法具有填充視圖之前,看看所有的提交(要被觀看)和將提交「點」放在右列/行中。

三越過所有提交應當雖然足夠了,每個人都可以在O(n)的時間,這是O(n)的一切來完成:

  • 步行所有收集的數據(收集分支/提交者)(O(N))
  • 排序分支機構/提交到合適的列的順序,因爲曆元
  • 排序犯下通過提交與基數排序時間(O(N log n)的或更好的爲O(n)上秒)
  • 步行承諾和繪製點和祖先線根據分組

也許我們需要聰明(er)在提交之間路由線路時,但仍有待觀察。尤其是,我們可以在提交點之間使用垂直空間來連接垂直相距很遠(即時間上)的合併,而不是像當前算法那樣使用整列。

+0

我很想爲這樣的事情做出貢獻,只需要更多的時間。 :-) – MdaG 2010-10-07 13:46:27

+0

@MdaG:是的,我也是。 :) – Macke 2010-10-07 13:52:46

+0

我實際上正在考慮抽出時間來爲此做出貢獻...但是你剛剛說的話超過了我的頭!我每天都會使用mercurial,我不確定我是否理解你的意思。你能解釋一下嗎? – Samaursa 2011-06-29 13:47:47

3

目前,看起來沒有什麼可以按照您想要的方式進行可視化。

我想TortoiseHg資源管理器的可視化是直接從graphlog擴展。

如何過,有一個基於可視化graphviz的,雖然它是類似於graphlog,但你可以破解任何辦法讓它在視覺上更加美好。

+0

有趣的,我會看看那個。 :-) – MdaG 2010-10-07 13:43:13

+0

這是個老問題,但是有沒有更新圖表顯示方式的更新? – tkokasih 2015-06-12 01:47:56

相關問題