Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mercurial 忽略HG pull上的某些文件_Mercurial_Pull_Hgrc - Fatal编程技术网

Mercurial 忽略HG pull上的某些文件

Mercurial 忽略HG pull上的某些文件,mercurial,pull,hgrc,Mercurial,Pull,Hgrc,谢谢你阅读我的情况 我的情况是: RepoA(7GB)-我有读取权限 RepoB(7GB-从RepoA派生)-我有读/写权限,但没有管理员权限,无法派生 我没有设置任何这些,但现在是源代码的管理员 目前,一家公司正在RepoA开展工作,我们正在将本地业务引入RepoB,我们也在那里开展工作。。这非常有效,但是存储库太大了,非常烦人 RepoA有一些东西,RepoB就是一切 我创建了RepoC,它是B减去所有gig资产的克隆。 RepoC-使用hg convert从RepoB克隆--filemap

谢谢你阅读我的情况

我的情况是: RepoA(7GB)-我有读取权限 RepoB(7GB-从RepoA派生)-我有读/写权限,但没有管理员权限,无法派生

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

目前,一家公司正在RepoA开展工作,我们正在将本地业务引入RepoB,我们也在那里开展工作。。这非常有效,但是存储库太大了,非常烦人

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

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

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

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

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

有什么建议吗


谢谢大家!

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

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

  • 大文件:
  • 子存储库:
  • GuestRespository(第三方)不是子存储库:
如果对工作流的这些更改没有找到正确的方法(它们都有其粗糙的边缘-仔细检查),您只能手动或甚至编写脚本将修补程序导出并导入到其他存储库中;在repoC中
hg export-rXXX-R path/to/repoB | patch
可能会起作用-但对于每个版本。

请详细说明后面的方法。这并不能回答任何问题。我发帖的第一行很重要。再读一遍。这就是全部答案。我添加了其余的内容作为权宜之计:重读第2段。然后阅读建议的扩展功能。我说,他们没有解决所说的问题。但他们可能会在某种程度上发挥作用,这样,被要求的人就会看到问题(主要是在新回购上)被规避。任何可能的编辑都不会改变第一句也是最重要的一句话:没有干净的解决方案(或者至少是4年前……可能是我错过了什么)