【问题标题】:How to branch the whole repository including ignore files如何分支整个存储库,包括忽略文件
【发布时间】:2011-05-25 05:28:49
【问题描述】:

我有一个项目,位于 Mercurial 存储库中。在根文件夹中有一个 .hgignore 文件,其中指出“Bin”文件夹应该被忽略(以及其他一些文件和文件夹)。

现在我想克隆这个存储库,但在某种程度上,所有文件夹和文件都应该被克隆,也包括原来被忽略的那些。如果我只是克隆存储库,那么我只会得到包含在存储库中的文件,因此我的 bin 文件夹丢失了。

如何获得包含所有文件的克隆存储库?我想在一段时间内将这两个存储库合并在一起......

PS - 我正在开发一个遗留应用程序,该应用程序的 bin 文件夹中有很多外部 dll-s。我知道我应该把它们放在一个单独的文件夹中,但那是另一回事了。

【问题讨论】:

  • 看,直言不讳。如果您知道应该将它们放入单独的文件夹中,请执行此操作。您无需移动它们,只需将它们复制到单独的文件夹中并将其提交到存储库即可。这样,一个完整的克隆就拥有了你需要的一切。是的,您需要将文件复制回新克隆上的 Bin 目录,但这比找出丢失的文件以及从何处获取它们要好得多。

标签: mercurial branch clone


【解决方案1】:

只需复制它。

将整个树从 a 点复制到 b 点,新副本将完美地用作存储库。唯一与克隆不同的是缺少硬链接,并且默认的拉/推路径将设置为与原始路径相同,而不是指向原始路径。如果您愿意,可以通过编辑 .hg/hgrc 轻松更改。

【讨论】:

  • @Martin:是的,同意。硬链接也会丢失。
  • 以后合并这两个仓库会不会有什么问题?
  • @_simon_ 除了回购内部硬链接和default 路径之外,副本与克隆是一样的。所以从复制的目录合并代码和从克隆的目录合并代码是完全一样的。
【解决方案2】:

忽略的文件不在您的存储库中,因此不会被克隆。克隆存储库后,您应该手动复制这些文件。 当您复制这些文件时,我认为如果您覆盖存储库中的其他文件(毕竟它们本质上是相同的文件),这不会有问题,只要您不复制 .hg 文件夹在结帐的根目录中,您可能会没事的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-17
    • 2011-11-06
    • 2011-01-12
    • 2023-03-27
    • 1970-01-01
    • 2020-04-25
    • 1970-01-01
    • 2019-10-09
    相关资源
    最近更新 更多