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
Version control 在本地和远程mercurial存储库之间保持历史同步_Version Control_Mercurial_Mercurial Subrepos - Fatal编程技术网

Version control 在本地和远程mercurial存储库之间保持历史同步

Version control 在本地和远程mercurial存储库之间保持历史同步,version-control,mercurial,mercurial-subrepos,Version Control,Mercurial,Mercurial Subrepos,我正在做一个项目,每个小组都有一个主mercurial存储库的服务器端克隆。我们一直使用的工作流程包括在笔记本电脑上开发、提交并推送到服务器端克隆存储库,然后将这些更改拉到功能强大的远程机器上运行我们的测试。一旦更改准备好与组的其他成员共享,主服务器端克隆将被拉入本地存储库,本地存储库将根据主克隆重新设置基础。然后可以将更改推送到主远程克隆,历史记录将显示线性历史记录 问题是,个人服务器端克隆与本地存储库完全不同步,因为它没有重新定基。我们没有使用正确的分支,因此合并+重基和移植/移植似乎不是我

我正在做一个项目,每个小组都有一个主mercurial存储库的服务器端克隆。我们一直使用的工作流程包括在笔记本电脑上开发、提交并推送到服务器端克隆存储库,然后将这些更改拉到功能强大的远程机器上运行我们的测试。一旦更改准备好与组的其他成员共享,主服务器端克隆将被拉入本地存储库,本地存储库将根据主克隆重新设置基础。然后可以将更改推送到主远程克隆,历史记录将显示线性历史记录

问题是,个人服务器端克隆与本地存储库完全不同步,因为它没有重新定基。我们没有使用正确的分支,因此合并+重基和移植/移植似乎不是我们用来恢复存储库同步的方法


服务器端克隆需要与本地存储库中的克隆具有相同的历史记录,否则它将拖拉和推送所有更改集,并将成为解决不存在的冲突的耗时混乱。如何使服务器端克隆与主存储库和本地存储库具有相同的历史,而不从主存储库剥离和提取?理想情况下,我们不必登录到服务器。

您只能从“主”repo获取其历史记录,但这不会从您的开发服务器和本地repo中删除未重定基础的历史记录

只有剥离其他回购(甚至重新克隆它们)才能拥有“主要”历史记录,这必须同时对所有回购进行


注意,不要重新设定基准。它仅适用于私人回购。

重定基础是确定性的,因此您可以在客户端克隆中重新进行重定基础


唯一值得关注的是,如果重基触发了合并解决方案,那么您必须在客户端以相同的方式解决合并问题。在不查看服务器上的代码的情况下执行此操作可能会很困难。

谢谢。我想我们希望重新定基可神奇地让我们使用DVC并拥有线性历史。我们停止了重定基址,现在它起作用了,显示出了非常广泛的历史。