2008-10-20 58 views
62

我們正在考慮從SVN轉向Mercurial,並且遇到了絆腳石。我可以使用mercurial來模擬svn:externals嗎?

我們目前使用svn:externals來自動將一組常用庫拉入工作目錄。在Mercurial中找不到像這樣的支持。

有沒有辦法與Mercurial自動執行此操作,還是需要將其僞裝爲構建過程的一部分?

+0

這個問題最好的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

回答

20

沒有好的方法來使用mercurial來做它。在其他地方提到的森林擴展導致了現在修復中的更多問題。大多數人只是使用大型回購協議,並將所有組件都包含在回購協議中,然後讓他們的構建腳本下載並使用第三方庫 - 如果使用的是Java頭部,則使用maven。

簡短回答「在構建過程中僞造它」。

更新:

在水銀1.3添加了一個新的子回購功能。它就像舊的擴展名,但是以所有新代碼開始。

Subrepos被認爲是「最後手段的特徵」。

+0

嗨。我不清楚「大多數人只是使用大型回購協議,並將所有組件都包含在回購協議中」。這將如何工作?假設你有project1和project2都使用component1和component2,那麼如何使用Mercurial在一次命中中檢出project1? – 2009-07-13 11:22:16

0

嘗試Mercurial的Forest Extension

+5

當心的森林延伸。它並未保持最新狀態,只適用於舊版本的Mercurial。它已經不受大多數​​水銀人的青睞,所以我不認爲它將來會被拖延。 – 2008-10-24 03:35:21

相關問題