我們使用hg來控制大型項目的來源。每當我們做一個發佈,我們用hg標記版本。Hg - 查找「覆蓋」特定文件版本的標籤
現在說我採取了具體的修訂(例如,我已經修復了一個錯誤)。我想知道哪些版本包含此修訂,即哪些標籤「覆蓋」此修訂。
我該如何找到它? hg標記似乎只涉及標記的變更集。我記得在ClearCase中,標記修訂的每個祖先都會被標記,有沒有辦法在hg中看到這些信息?
謝謝!
我們使用hg來控制大型項目的來源。每當我們做一個發佈,我們用hg標記版本。Hg - 查找「覆蓋」特定文件版本的標籤
現在說我採取了具體的修訂(例如,我已經修復了一個錯誤)。我想知道哪些版本包含此修訂,即哪些標籤「覆蓋」此修訂。
我該如何找到它? hg標記似乎只涉及標記的變更集。我記得在ClearCase中,標記修訂的每個祖先都會被標記,有沒有辦法在hg中看到這些信息?
謝謝!
沒有任何附加擴展的版本可以給你一些東西。像
hg log -r "id(hash):tip and tag()"
或者更短,更好的(也許)版本hg log -r "descendants(hash) and tag()"
公正,例如縮短revset從我的回購與相關
>hg glog -r "descendants(c9e3b41ec78f)"
@ changeset: 65:f202d72d6397
| tag: tip
| parent: 63:c778bae76563
| user: Alex Bream
| date: Wed Nov 09 21:42:50 2011 +0600
| summary: 2-9 яюыэюёЄ№■ фю 2769
|
| o changeset: 64:625d08492555
| | branch: Cleanup
| | parent: 62:eed6619dadb8
| | user: Alex Bream
| | date: Wed Nov 09 21:38:44 2011 +0600
| | summary: ╟рўшёЄър яю 1-1 155
| |
o | changeset: 63:c778bae76563
|\| parent: 61:e7ae9e5f725a
| | parent: 62:eed6619dadb8
| | user: Alex Bream
| | date: Wed Nov 09 21:33:22 2011 +0600
| | summary: Merge with Cleanup
| |
| o changeset: 62:eed6619dadb8
| | branch: Cleanup
| | parent: 59:c9e3b41ec78f
| | user: Alex Bream
| | date: Thu Mar 03 19:19:34 2011 +0500
| | summary: ╟рўшёЄър яю 1-1 131
| |
o | changeset: 61:e7ae9e5f725a
| | user: Alex Bream
| | date: Thu Mar 03 05:40:34 2011 +0500
| | summary: 2-9 яю 2745
| |
o | changeset: 60:1393fe759096
|\| parent: 57:a38258cac9b8
| | parent: 59:c9e3b41ec78f
| | user: Alexander
| | date: Thu Mar 03 04:59:22 2011 +0500
| | summary: Merge ё ўшёЄшыъющ
| |
| o changeset: 59:c9e3b41ec78f
| | branch: Cleanup
| | user: Alexander
| | date: Thu Mar 03 04:54:11 2011 +0500
| | summary: ╟рўшёЄър яЁюыюу яюыэюёЄ№■
| |
修訂後的合併和兩種形式revsets的輸出進行比較(相同的輸出反正)
後代()
>hg log -r "descendants(c9e3b41ec78f)" --template "{rev}:{node|short}\n"
59:c9e3b41ec78f
60:1393fe759096
61:e7ae9e5f725a
62:eed6619dadb8
63:c778bae76563
64:625d08492555
65:f202d72d6397
直接範圍定義
>hg log -r "id(c9e3b41ec78f):tip" --template "{rev}:{node|short}\n"
59:c9e3b41ec78f
60:1393fe759096
61:e7ae9e5f725a
62:eed6619dadb8
63:c778bae76563
64:625d08492555
65:f202d72d6397
您可以使用Nearest extension來查找您的修訂版本的最近前鋒標籤。然後,根據您的工作流程,您應該能夠輕鬆推斷哪個其他標籤也包含您的更改。
您也可以使用以下方法來從當前版本打印最新的落後標籤:
然後還要演繹「覆蓋」的標籤。
這提供了一種類似於hg tags
輸出:
hg log -r "reverse(descendants(8bb6)) and tag()" --template "{tags}\t{rev}:{node|short}\n"
懶惰獾一針見血的頭,我調整了自己的模板「{節點} - {tags} \ n「這使我能夠快速查看包含給定變更集的所有版本。輝煌! – YMA 2012-01-04 08:59:15