2011-08-25 63 views
1

對我來說,「標籤」這個概念是一個快速標籤,你可以將它作爲一個簡單的提示應用於某些事物。但是你不能在HG中使用這樣的標籤,因爲你只能擁有一次。你必須添加一個時間戳或它。爲什麼Mercurial標籤獨一無二?

在HG中擁有獨特標籤的原因是什麼? HG中是否有一種機制可以讓我找到「我標記爲X的所有變更集」?

+3

因爲他們不是真正的民俗意義上的標籤,而是命名修訂。 – geoffspear

+0

我不知道。所以我剛剛被追上了這個名字? –

+0

@Josh:可能。如果你有兩個帶有相同標籤「myTag」的變更集,當你說'hg update -r myTag'時,hg應該知道你的意思? –

回答

3

標籤用於在某某時刻標記存儲庫的特定狀態。 1.0版本爲v1.0,以及類似的東西。標記發佈是最常見的用法。它不適用於「當前版本」;分支機構更適合這一點。

你可以使用各種不同的分支技術;其中一個是擁有一個「部署」分支(可能是默認分支,或稱爲「發佈」,或者「部署」你想要的任何內容)。在另一個分支或分支中工作,然後合併到發佈分支中進行發佈(然後,當然,您可以標記它們)。

我建議你閱讀關於Chapter 8. Managing releases and branchy development in Mercurial: The Definitive Guide之類的分支和標籤。


沒有爲變更集添加「標籤」的內置方式。如hg-review(代碼審查—一個值得一看的項目),當他們想要將信息添加到變更集中,以自己的方式將其存儲在自己的位置並通過自己的命令以自己的方式將其鏈接。

+0

對不起,我確實在所有版本和版本中使用了分支機構。 'deploy'就是一個不好的例子。更感興趣的是「我用X標記的所有變更集」 –

+0

啊,我想我現在明白了。您想要以某種方式標記變更集,例如你可能有一個自動測試運行器,然後將變更集標記爲「測試失敗」或「測試成功」? –

+0

是的!這是比我想到的更好的例子。但基於名稱「標籤」,這是我認爲它的工作原理。 –