Version control 我在错误的回购市场工作。它们几乎相同,但没有关联的数据。如何区分/合并?

Version control 我在错误的回购市场工作。它们几乎相同,但没有关联的数据。如何区分/合并?,version-control,mercurial,Version Control,Mercurial,你能和还原的副本区别开来吗 我在错误的回购协议中工作。他们几乎一样,但没有实际关系 我只是做了一个拉和更新,然后我可以复制我的更改文件到正确的头部,然后运行一个差异或类似的东西,然后正确地合并2在一起 我觉得另一个选择是 复制代码并提交它,然后恢复,并与提交合并,以区分所有更改 我在9个文件中修改了1500行,所以我不想重写一堆代码段 我应该如何处理这个问题?这实际上取决于“几乎相同,但没有实际关系”存储库的相似程度 如果它们非常相似(如文件中的名称相同,文本几乎相同),您可以先在源repo中导

你能和还原的副本区别开来吗

我在错误的回购协议中工作。他们几乎一样,但没有实际关系

我只是做了一个拉和更新,然后我可以复制我的更改文件到正确的头部,然后运行一个差异或类似的东西,然后正确地合并2在一起

我觉得另一个选择是 复制代码并提交它,然后恢复,并与提交合并,以区分所有更改

我在9个文件中修改了1500行,所以我不想重写一堆代码段


我应该如何处理这个问题?

这实际上取决于“几乎相同,但没有实际关系”存储库的相似程度

如果它们非常相似(如文件中的名称相同,文本几乎相同),您可以先在源repo中导出修补程序,然后再将同一修补程序导入目标repo

在源回购协议中:

hg export -r tip > path\to\oops.patch
在目标回购协议中:

hg import path\to\oops.patch --no-commit
我使用了
--no commit
,因为我假设您首先需要进行一些清理,以确保一切正常

或者,您可以使用kdiff或BeyondCompare3比较这两个目录,将您想要的差异从源repo传递到目标repo,并以这种方式提交。这可能是我的方法


(我故意忽略了一个问题,即为什么您有两个如此相似但没有共享历史的存储库。据我所知,这可能是正确的做法。)

所有这些选项看起来都不错。我将调查kdiff和BeyondCompare3,看看它们是否有效。如果他们没有,我将尝试修补方法。这三个似乎都能奏效。当我成功的时候,我会给你一个更新,给你竖起大拇指,告诉你哪种方法对我最有效。它工作了,我喜欢它,因为它将在2个目录或文件上进行区分。。。。然后将输出它。