我如何知道我的 git 存储库与我的 Mercurial 存储库相同?

How do I know my git repository is same as my Mercurial repository?

我将我的 Mercurial 存储库(在 Bitbucket 中)转换为 git(gitLab),我想知道我怎么知道没有 files/comments 丢失?如何检查两个存储库是否相同?

谢谢, 詹妮弗

你不能(无论如何它们都会不同)

但你至少可以编写脚本并进行比较:

  • list of revision in Hg(以及他们的评论)
  • git log(包括评论)

并查看列表是否具有相同数量的元素以及注释是否匹配

对于每次提交,您可以:

并确保每一个:

  • 有相同数量的文件。
  • 具有相同的内容,通过 diff 工具比较它们(kdiff3 or, as suggested below, WinMerge 如果你在 Windows)

仅使用 diff 工具是不够的:您需要逐个修订地进行。

如果您在本地有原始 HG 和新 Git 存储库的副本,您可以使用 WinMerge 等程序来区分两个文件夹树。

排除像 .hg 这样的 "internal" 文件,您应该在两者的头部找到一组相同的文件。

我个人喜欢这种方法,因为它独立于源代码控制系统本身。如果您首先不完全信任 Git 转换,我认为直接检查 "facts on the ground" 而不经过任何额外的中间步骤是明智的。