【问题标题】:ignore certain files on HG pull忽略 HG pull 上的某些文件
【发布时间】:2015-04-07 01:16:41
【问题描述】:

感谢您阅读我的情况..

我的情况是这样的: RepoA (7GB) - 我有读取权限 RepoB (7GB - Forked from RepoA) - 我有读/写权限,但没有管理员权限,也不能分叉。

我没有设置任何这些,但现在是源代码的管理员。

目前一家公司正在 RepoA 中开展工作,我们正在拉动本地并推进 RepoB,我们也在其中开展工作。这很好用,但存储库太大,很烦人。

RepoA 有一些东西,RepoB 就是一切

我创建了 RepoC,它是 B 的克隆减去所有资产的演出。 RepoC - 使用 hg convert --filemap map.txt RepoB small_clone/RepoC 从 RepoB 克隆

我现在在 RepoC 中有一个非常好的可管理的 300 MB 存储库(好)。现在 RepoB 对我来说没用了。

但是,当有人在 RepoA 中进行更改时,我希望在 RepoC 中进行更改。过去,我的 hgrc 中有 RepoA,只是简单地做了一个 hg pull RepoA。但是,当我现在从小型存储库 (RepoC) 中执行此操作时,它会引入我在 RepoC 中指定的所有我不想要的资产。

有没有一种方法可以让我继续从 RepoA 获取忽略某些目录的更新?或者在我从 RepoA 中提取后有什么方法可以在推送到 RepoC 之前删除我不想要的任何新文件。我还没有进行 HG 更新,但文件的演出显示在 .hg/store/data 中。我想知道我是否可以以某种方式将它们从那里拉出来,然后 hg 更新,然后提交,然后推送

有什么建议吗?

谢谢!

【问题讨论】:

    标签: mercurial pull hgrc


    【解决方案1】:

    没有直接的方法 - mercurial 需要了解完整的历史,这包括所有大资产(目前还没有浅层克隆)。

    但是,您可能会考虑使用一些扩展,以便更轻松地处理大文件或许多子项目:

    如果对工作流程的这些更改没有找到正确的方法(它们都有其粗糙的边缘 - 请仔细检查它们),您只能导出补丁并将它们导入另一个存储库,无论是手动还是脚本;在 repoC 中类似 hg export -rXXX -R path/to/repoB | patch 可能会起作用 - 但对于每个修订版。

    【讨论】:

    • 请详细说明后一种方法。这并不能真正回答任何问题。
    • 我发帖的第一行是重要的。再读一遍。这就是全部答案。我添加了其余的作为寻找解决方法的方式:重新阅读第二段。然后阅读建议的扩展做什么。我说他们没有解决上述问题。但是他们可能会以某种方式在某种程度上工作,询问的人会看到问题(主要是在新的 repos 上)被规避。任何可能的编辑都不会改变第一个也是最重要的一句话:没有干净的解决方案(或者至少是 4 年前......也许出现了一些我错过的东西)
    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 2016-10-08
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-24
    相关资源
    最近更新 更多