我如何知道我的 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
(包括评论)
并查看列表是否具有相同数量的元素以及注释是否匹配
对于每次提交,您可以:
- 列表the files in a given Hg revision (
hg status --change <rev>
)
- 列表the files a commit
并确保每一个:
仅使用 diff 工具是不够的:您需要逐个修订地进行。
如果您在本地有原始 HG 和新 Git 存储库的副本,您可以使用 WinMerge 等程序来区分两个文件夹树。
排除像 .hg
这样的 "internal" 文件,您应该在两者的头部找到一组相同的文件。
我个人喜欢这种方法,因为它独立于源代码控制系统本身。如果您首先不完全信任 Git 转换,我认为直接检查 "facts on the ground" 而不经过任何额外的中间步骤是明智的。
我将我的 Mercurial 存储库(在 Bitbucket 中)转换为 git(gitLab),我想知道我怎么知道没有 files/comments 丢失?如何检查两个存储库是否相同?
谢谢, 詹妮弗
你不能
但你至少可以编写脚本并进行比较:
- list of revision in Hg(以及他们的评论)
git log
(包括评论)
并查看列表是否具有相同数量的元素以及注释是否匹配
对于每次提交,您可以:
- 列表the files in a given Hg revision (
hg status --change <rev>
) - 列表the files a commit
并确保每一个:
仅使用 diff 工具是不够的:您需要逐个修订地进行。
如果您在本地有原始 HG 和新 Git 存储库的副本,您可以使用 WinMerge 等程序来区分两个文件夹树。
排除像 .hg
这样的 "internal" 文件,您应该在两者的头部找到一组相同的文件。
我个人喜欢这种方法,因为它独立于源代码控制系统本身。如果您首先不完全信任 Git 转换,我认为直接检查 "facts on the ground" 而不经过任何额外的中间步骤是明智的。