假設我在另一臺計算機上有一個存儲庫,其整個歷史記錄都足以在本地進行克隆。如果我無意將任何更改提交回該存儲庫,則沒有理由不能僅僅拍攝該提示的快照。有沒有辦法做到這一點,或者我會找到自己解決這個與rsync黑客或類似的東西?我可以在不做完整克隆的情況下獲取mercurial存儲庫的技巧快照嗎?
如果有幫助,在我的情況下,遠程存儲庫是由mercurial-server通過ssh隧道提供的。
假設我在另一臺計算機上有一個存儲庫,其整個歷史記錄都足以在本地進行克隆。如果我無意將任何更改提交回該存儲庫,則沒有理由不能僅僅拍攝該提示的快照。有沒有辦法做到這一點,或者我會找到自己解決這個與rsync黑客或類似的東西?我可以在不做完整克隆的情況下獲取mercurial存儲庫的技巧快照嗎?
如果有幫助,在我的情況下,遠程存儲庫是由mercurial-server通過ssh隧道提供的。
您可以使用hg archive
爲任何修訂版本創建未版本化的歸檔文件。它不適用於ssh URL,因此您必須在遠程主機上運行它,然後將存檔返回。
我想我會在服務器上添加一項服務,以便按需創建存檔並通過scp使其可用。 – Sniggerfardimungus 2010-09-22 18:22:04
Mercurial的標準CGI腳本可讓您下載任何修訂版的zip和tarball。請參閱web.allow_archive
setting。你也可以看到hg serve
,它和下面的CGI腳本運行相同的代碼。
我的最終解決方案是讓服務器始終通過鉤子執行'hg update'來始終保持其存儲庫始終處於最新狀態。從這裏開始,執行rsync操作非常簡單,不包括。 hg目錄。它遭受了rsync運行時有人可能登記的潛在風險,但我的商業案例的細節使這種情況極不可能,並且很容易察覺。 – Sniggerfardimungus 2010-09-23 20:28:52