0

感谢您阅读我的情况..

我的情况是这样的: RepoA (7GB) - 我有读取权限 RepoB (7GB - 从 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 更新,然后提交,然后推送

有什么建议吗?

谢谢!

4

1 回答 1

-1

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

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

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

于 2015-04-07T12:17:25.627 回答