2012-02-17 24 views
2

我想檢索提交訂單號,只計算特定分支(主)的提交。 由於分支「master」在每臺機器/ repo上都是一樣的,那麼這將允許我: 1.無論存儲庫是否具有相同編號 2.在版本字符串中使用此編號。如何獲得一個分支中的mercurial commit序號

那麼,有沒有辦法做到這一點?

+0

只是感興趣:爲什麼不是latesttag + latesttagdistance? – 2012-02-17 15:07:33

+0

不知道,第一次看到它。現在將調查 – 2012-02-17 15:22:30

+1

取決於分支的各種分支被提交/拉取的順序,分支上的提交順序仍可能不同於存儲庫。 – 2012-02-17 17:55:33

回答

3

hg log -b master --template "." | wc -m例如

輸出分支

+0

謝謝! U R天才:) – 2012-02-17 15:20:06

2

你的點子不會工作當前量變更的,即使你限制自己到一個名爲分支。正如Ry4an提到的那樣,問題在於該分支上的變更集的順序由hg pushhg pull的順序決定。所以,你可以輕鬆地結束了,你有一個情況:

 
@ branch: master, changeset: 5:f5b6808f2f04, summary: merge 
|\ 
| o branch: master, changeset: 4:2b7bdcc98a88, summary: mmm 
| | 
o | branch: master, changeset: 3:6b60342a01a6, summary: mm 
|/ 
o branch: master, changeset: 2:f39fa3fa1aaf, summary: m 
| 
o branch: master, changeset: 1:4dd5e8ae6481, summary: create master 
| 
o branch: default, changeset: 0:68b4eb1ca123, summary: a 
在一個倉庫

,但

 
@ branch: master, changeset: 5:f5b6808f2f04, summary: merge 
|\ 
| o branch: master, changeset: 4:6b60342a01a6, summary: mm 
| | 
o | branch: master, changeset: 3:2b7bdcc98a88, summary: mmm 
|/ 
o branch: master, changeset: 2:f39fa3fa1aaf, summary: m 
| 
o branch: master, changeset: 1:4dd5e8ae6481, summary: create master 
| 
o branch: default, changeset: 0:68b4eb1ca123, summary: a 
在另一個

。請注意0​​和mmm變更集在兩個存儲庫中是如何交換的。

只有當分支在兩個存儲庫中的頭都相同時,您纔可以在每個存儲庫中討論「分支是相同的」。如果是這樣的話,那麼,由懶惰建議,一個簡單的

hg log -b master --template "." | wc -m 

將給予相同的計數在這兩個倉庫。