我们最近将我们的SVN存储库转换为GIT。似乎在此转换中我们丢失了一些提交,因此我们想要验证这一点。
因此,我们希望找到每个svn提交的匹配git提交,以检查转换是否实际发生。
我找到的最接近的方法是:
我也尝试使用了这个:
[编辑]
我不确定,但我猜这应该列出存储库中的所有提交消息。
因此,我们希望找到每个svn提交的匹配git提交,以检查转换是否实际发生。
$ git log|grep "some partial commit message"
不足以使用,因为它只通过直接祖先遍历并忽略不是直接祖先的分支。
$ git show <commit-hash>
无法工作,因为svn没有sha1sums。我找到的最接近的方法是:
$ git reflog show --all --grep="releasenotes"|xargs git show --shortstat
但是这似乎并不完全有效,因为它似乎在除提交消息之外的更多位置上进行了grep(我们得到了误报)。我也尝试使用了这个:
$ git rev-list --all|xargs -n1 bash -c 'git show|head -n10'|grep -i release
基本上,我缺少一个打印提交消息而不包括差异的好方法。[编辑]
我不确定,但我猜这应该列出存储库中的所有提交消息。
git rev-list --all|xargs -n1 git log -n1
git log --all --format=<format> | grep <grep options>
的命令,其中<format>
将是类似于man页中详细说明的“SHA-提交消息”的内容。 - Nevik Rehnel