我們正在考慮從SVN轉向Mercurial,並且遇到了絆腳石。我可以使用mercurial來模擬svn:externals嗎?
我們目前使用svn:externals
來自動將一組常用庫拉入工作目錄。在Mercurial中找不到像這樣的支持。
有沒有辦法與Mercurial自動執行此操作,還是需要將其僞裝爲構建過程的一部分?
我們正在考慮從SVN轉向Mercurial,並且遇到了絆腳石。我可以使用mercurial來模擬svn:externals嗎?
我們目前使用svn:externals
來自動將一組常用庫拉入工作目錄。在Mercurial中找不到像這樣的支持。
有沒有辦法與Mercurial自動執行此操作,還是需要將其僞裝爲構建過程的一部分?
沒有好的方法來使用mercurial來做它。在其他地方提到的森林擴展導致了現在修復中的更多問題。大多數人只是使用大型回購協議,並將所有組件都包含在回購協議中,然後讓他們的構建腳本下載並使用第三方庫 - 如果使用的是Java頭部,則使用maven。
簡短回答「在構建過程中僞造它」。
更新:
在水銀1.3添加了一個新的子回購功能。它就像舊的擴展名,但是以所有新代碼開始。
Subrepos被認爲是「最後手段的特徵」。
嗨。我不清楚「大多數人只是使用大型回購協議,並將所有組件都包含在回購協議中」。這將如何工作?假設你有project1和project2都使用component1和component2,那麼如何使用Mercurial在一次命中中檢出project1? – 2009-07-13 11:22:16
嘗試Mercurial的Forest Extension。
當心的森林延伸。它並未保持最新狀態,只適用於舊版本的Mercurial。它已經不受大多數水銀人的青睞,所以我不認爲它將來會被拖延。 – 2008-10-24 03:35:21
你試過Deps Extension?
這不是水銀的一部分,但似乎模仿svn:externals
功能
看來,林擴展的功能正在實施爲核心的水銀(如1.3):
https://www.mercurial-scm.org/wiki/Subrepository。
目前標記爲「實驗性」,但可能是從v1.4開始處理svn:external-type功能的路線。
這個問題最好的hg擴展名可能會有用。我特別提出了這個問題,以解決這個svn:externals問題。 [什麼是最好的和必須的hg/mercurial擴展?](http://stackoverflow.com/questions/1869040/what-are-the-best-and-must-have-hg-mercurial-extensions) – 2010-02-05 15:01:11