忽略HG拉上的某些文件

时间:2015-04-07 01:16:42

标签: mercurial pull hgrc

感谢您阅读我的情况..

我的情况是这样的: RepoA(7GB) - 我有读取权限 RepoB(7GB - 从RepoA分叉) - 我有读/写访问权限,但没有管理员权限,也无法分叉。

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

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

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

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

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

然而,当有人在RepoA中进行更改时,我希望在RepoC中进行更改。在过去,我的hgrc中有RepoA,只需要做一个hg pull RepoA。但是,当我现在从小型回购(RepoC)那里做到这一点时,它会带来我在RepoC中指定的所有资产。

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

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:-1)

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

但是,您可以考虑使用一些扩展,以便更容易处理大型文件或许多子项目:

如果对工作流程的这些更改没有看到正确的方法(它们都有粗略的边缘 - 仔细检查它们),您只能导出补丁并将它们导入到其他存储库中,手动或甚至编写脚本;在repoC之类的东西 hg export -rXXX -R path/to/repoB | patch可能会解决问题 - 但是对于每个版本。