2010-12-14 62 views
2

我有一個項目,位於Mercurial存儲庫中。在根文件夾中有一個.hgignore文件,它指出應該忽略「Bin」文件夾(以及其他一些文件和文件夾)。如何分支包含忽略文件的整個存儲庫

現在我想克隆這個存儲庫,但在某種意義上說,所有的文件夾和文件都應該被克隆,也是最初被忽略的。如果我只是克隆版本庫,那麼我只能得到包含在版本庫中的文件,因此我的bin文件夾丟失了。

如何獲取其中包含所有文件的克隆存儲庫?我想在短時間內將這兩個庫合併在一起...

PS - 我正在研究一個遺留應用程序,它在應用程序的bin文件夾中有很多外部dll-s。我知道我應該把它們放到一個單獨的文件夾中,但那是另一回事。

+1

看,要生硬。如果你知道你應該把它們放到一個單獨的文件夾中,那麼**做它**。您不需要移動它們,只需將它們複製到單獨的文件夾中,然後將其提交到存儲庫即可。這樣,一個完整的克隆就擁有了你所需要的一切。是的,您需要將這些文件複製到新克隆的Bin目錄中,但這比找出丟失哪些文件以及從哪裏獲取它們要好得多。 – 2010-12-14 12:31:35

+0

同意,將它做 – sventevit 2010-12-14 12:36:19

回答

3

只需複製它。

複製從點a到點b的整個樹,並且新副本將作爲存儲庫完美地起作用。唯一不同於克隆的是缺少硬鏈接,並且默認的拉/推路徑將被設置爲與原始路徑相同,而不是指向原始路徑。如果您願意,可以通過編輯.hg/hgrc輕鬆更改。

+0

@Martin:是的,同意了。硬鏈接也丟失了。 – 2010-12-14 15:05:02

+0

未來合併這兩個存儲庫會有什麼問題嗎? – sventevit 2010-12-14 17:40:38

+2

@_simon_除了回購內部硬鏈接和「默認」路徑之外,副本與克隆相同。所以合併來自複製目錄的代碼與合併來自克隆目錄的代碼完全相同。 – Rudi 2010-12-15 09:31:50

2

被忽略的文件不在您的存儲庫中,因此它不會被克隆。克隆存儲庫後,應手動複製這些文件。 當您複製這些文件時,如果覆蓋存儲庫中的其他文件(它們基本上是相同的文件),我認爲這不會成爲問題,所以只要不復制.hg你的結帳根目錄中的文件夾,你可能會很好。

+0

當然111 :) – sventevit 2010-12-14 12:34:37

相關問題