我使用TortoiseHg作爲我的網站的版本控制系統。我想在網站上貼一個標籤,報告服務器上當前的修訂版本。我不想手動更新它,而是希望它是自動的。提交後在文件中包含修訂號?
如果我可以設置TortoiseHg在每次提交時將修訂號寫入文件,則可以將我的網站設置爲在發生更改時加載版本號,並將此號碼呈現給頁面。是否有可能讓TortoiseHg做到這一點?
我使用TortoiseHg作爲我的網站的版本控制系統。我想在網站上貼一個標籤,報告服務器上當前的修訂版本。我不想手動更新它,而是希望它是自動的。提交後在文件中包含修訂號?
如果我可以設置TortoiseHg在每次提交時將修訂號寫入文件,則可以將我的網站設置爲在發生更改時加載版本號,並將此號碼呈現給頁面。是否有可能讓TortoiseHg做到這一點?
首先,我有義務提醒您修訂號碼在分佈式系統中很大程度上沒有意義。
其次,你可能想要的是一個鉤子。有多種方法可以做到這一點。最簡單的可能是像這樣的你的網絡服務器結帳:
# this gets run after each update, writes the LOCAL revision number to a file
[hooks]
update = hg id --num --rev . > update-number
還有關鍵字擴展,這將擴大在文件CVS/SVN風格的關鍵字。他們可以包括版本,日期,作者等...
https://www.mercurial-scm.org/wiki/KeywordExtension
...但它也值得一讀這篇文章,爲的原因,你不會使用它。
hg tip --template "{rev}:{node|short}-{latesttag}+{latesttagdistance}\n"
其中for,f.e.對於hgsubversion repo今天我得到的結果
830:d4b3b8370b3c-1.2.1+42
由於您使用.NET,也有建立一個自動執行此操作時,您的解決方案編譯工具:
硬件故障+ R後從備份estore從此掛鉤停止工作,無論出於何種原因。當重新應用它時,我發現'update ='不起作用:而是使用'commit ='。 – Oliver