我想檢索提交訂單號,只計算特定分支(主)的提交。 由於分支「master」在每臺機器/ repo上都是一樣的,那麼這將允許我: 1.無論存儲庫是否具有相同編號 2.在版本字符串中使用此編號。如何獲得一個分支中的mercurial commit序號
那麼,有沒有辦法做到這一點?
我想檢索提交訂單號,只計算特定分支(主)的提交。 由於分支「master」在每臺機器/ repo上都是一樣的,那麼這將允許我: 1.無論存儲庫是否具有相同編號 2.在版本字符串中使用此編號。如何獲得一個分支中的mercurial commit序號
那麼,有沒有辦法做到這一點?
hg log -b master --template "." | wc -m
例如
輸出分支
謝謝! U R天才:) – 2012-02-17 15:20:06
你的點子不會工作當前量變更的,即使你限制自己到一個名爲分支。正如Ry4an提到的那樣,問題在於該分支上的變更集的順序由hg push
和hg 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
將給予相同的計數在這兩個倉庫。
只是感興趣:爲什麼不是latesttag + latesttagdistance? – 2012-02-17 15:07:33
不知道,第一次看到它。現在將調查 – 2012-02-17 15:22:30
取決於分支的各種分支被提交/拉取的順序,分支上的提交順序仍可能不同於存儲庫。 – 2012-02-17 17:55:33