2011-07-27 35 views
12

我試圖提取文件夾中創建從水銀回購子文件夾的新的回購協議從現有的水銀回購(稱之爲PROJECT1)使用轉換擴展水銀含汞轉換(在MainRepo調用) 。我已其次是水銀開發人員在Windows XP中描述(並在網絡上其他地方)的方法:使用轉換

C:\MainRepo>echo include Project1 > ~myfilemap 
C:\MainRepo>echo rename Project1 . >> ~myfilemap 
C:\MainRepo>hg convert --filemap ~myfilemap . C:\Project1Repo 
C:\MainRepo>cd \Project1Repo 
C:\Project1Repo>hg update 

這將創建新的回購協議(Project1Repo)與地方Mercurial的文件夾/文件。 但它沒有:

1)在文件夾Project1中進行有關項目更改的歷史記錄。 (只有MainRepo的第一個歷史記錄和轉換項目存在)。

2)將所有源代碼文件從MainRepo \ Project1複製到Project1Repo。

我已經看到了計算器的其它類似的問題和答案,但這些似乎並沒有幫助(我已按照他們討論的方法): Can I clone part of a Mercurial repository?

因此問題是:我如何提取一個子從MainRepo文件夾只有子文件夾的歷史記錄完整並完成一個新的回購並同時傳輸源文件? (儘管我猜想直接複製會做最後一個)。它保留了重要的歷史記錄 - 在這種情況下,我可以在日期或更改集編號之後進行記錄。

任何幫助非常讚賞,因爲我是比較新的這個

感謝

回答

7

您列出的工作流程是正確的。這就是convert擴展旨在工作的方式。

您的問題指出,hg convert的回購輸出實際上是空的(除了「MainRepo的第一個歷史記錄條目和轉換項目」)。這將表明convert無法找到您的filemap中指定的路徑。

您確定您的include聲明的路徑正確嗎?

您的include語句中給出的目錄名稱必須是存儲庫根目錄中的完整路徑。例如,您的包含語句:

include Project1 

要求路徑到Project實際上是:

C:\MainRepo\Project1 

如果Project1實際上位於其他地方的MainRepo,你最終會與後一個空的回購轉換。

+0

Hi Tim - 感謝您對此的回覆。是的,這是一個路徑問題。在閱讀了關於這個主題的更多文章後,我清楚地注意到我需要做的事情,它工作得很好。雖然** hg更新後**沒有源文件實際上已被複制(我手動)。一個強大的指揮官,但沒有很好的記錄,我感覺。 –