最近、SVNリポジトリをGITに変換しました。この変換によっていくつかのコミットが失われたようです。これを確認したいと思います。
したがって、変換が実際に行われたかどうかを確認するために、各svncommitに一致するgitcommitを見つけたいと思います。
$ 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
基本的に、diffなしでコミットメッセージを出力するための良い方法がありません。
[編集]
正確にはわかりませんが、リポジトリ内のすべてのコミットメッセージが一覧表示されるはずです。
git rev-list --all|xargs -n1 git log -n1