我负责将一些项目从svn存储库移动到git。我发现工作流程相当简单,只不过是一个简单的
git svn clone --stdlayout <svn-repo> <git-repo>
cd <git-repo>
java -jar ~/svn-migration-scripts.jar clean-git --force
可以在Atlassians Git Migration Guide找到svn-migration-scripts.jar,它将远程分支和标记转换为普通的git分支和标记。
但是,我可以确定在执行这些步骤后,本地git存储库真的包含与svn repo相同的文件吗?特别是在阅读Files Missing after svn clone后,我真的很想确定两个存储库中没有差异。一位同事建议编写一个脚本来检查git和svn中的每个分支,然后比较每个文件的哈希值。我搜索了一个这样做的工具,但我找不到一个。
是否有工具可以将存储库相互比较?或者这个功能是否已经内置在git-svn中?我会感谢您的任何建议或想法。
答案 0 :(得分:1)
几年后,人们可以签出lunatic-cat/xxhashdir
,这是一个独立的可执行文件,可以使用 xxHash
xxHash
是一种非常快速的非加密哈希算法,其工作速度接近RAM限制。
如果您同时检出了正确的SVN版本和Git存储库,则可以快速生成一个带有哈希签名的文本文件,并且可以比较/区分这两个文本文件。