私は非常に大規模なプロジェクト(10000以上のバージョン)で作業しており、他のユーザーの誰がファイルの行を削除したかを知る必要がある場合があります。それを行う方法はありますか?svn blame
リビジョン番号を使用して、そのリビジョンに行が存在するかどうかを確認し、どのリビジョンで行がなくなったかを確認し、だれがそのリビジョンをコミットしたかを確認できますが、その手順はその大きなプロジェクトでは不十分です。
それを行うためのよりスマートな方法はありますか?
私は非常に大規模なプロジェクト(10000以上のバージョン)で作業しており、他のユーザーの誰がファイルの行を削除したかを知る必要がある場合があります。それを行う方法はありますか?svn blame
リビジョン番号を使用して、そのリビジョンに行が存在するかどうかを確認し、どのリビジョンで行がなくなったかを確認し、だれがそのリビジョンをコミットしたかを確認できますが、その手順はその大きなプロジェクトでは不十分です。
それを行うためのよりスマートな方法はありますか?
回答:
私はファイルの履歴を確認し、その行が存在するリビジョンをすばやく見つけて見つけ、HEADとそのリビジョンの間に責任があります。
ファイルが最初から100のリビジョンを通過している場合、リビジョンをバイナリ検索してその行を探す場合、10を超える異なるリビジョンを調べる必要はありません。
svn log --diff
列0が「-」の削除を識別します。"r"のGrepもあり、リビジョンを確認できます。
% svn log --diff src/fozbo.cpp -r22222:HEAD | grep -e '^r' -e '^-.*xyzzy'
r22222 | jruser | 2016-07-19 20:16:07 -0400 (Tue, 19 Jul 2016) | 1 line
- else if ( password== "xyzzy") {
またsvn log --search
、コミットメッセージのみが検索されます。