2010-12-14 79 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

相关问题