4

セットアップ:foo/bar r123で、リポジトリ内のファイルが に (変更を加えて) コピーされfoo/baz、元のファイルは削除されました。このコピーは、 ではなく手動で実行されましたsvn cp。その後、多くの改訂が行われました。

私は今、いくつかの行がfoo/bazどこから来たのかを見たいと思っています。に戻った後foo/bar、次のコマンドを試します。

$ svn annotate foo/bar -r 122
svn: warning: W155010: The node '/path/to/checkout/foo/bar' was not found.
svn: E200009: Could not perform blame on all targets because some targets don't exist

...しかし、ファイルがもう存在しないため、機能しません!

質問:svn annotate削除されたファイルはどうすればよいですか?

4

2 に答える 2

2

リチャードの答えは大丈夫ですが、完全なsvn URLを知る必要はありません-^文字は常にプロジェクトのURLに展開されます:

svn annotate ^/<branch path>/<file path>@rev

例えば

svn annotate ^/trunk/README.md@123
于 2016-12-13T10:01:25.880 に答える
2

ファイルが存在する最後のリビジョンを特定したら、別の形式のsvn annotateコマンドを使用して、SVN サーバーの履歴を確認する必要があります。まず、実行svn infoして現在のディレクトリのサーバー URL を取得します。

$ svn info
[...]
URL: https://you@wherever.com/svn/project/subproject/trunk
Relative URL: ^/subproject/trunk
[...]

リモート リビジョンにはurl/path@revision、次のように名前を付けることができます。

$ svn annotate https://you@wherever.com/svn/project/subproject/trunk/foo/bar@122

また

$ svn annotate ^/subproject/trunk/foo/bar@122

編集:代わりに相対 URL を使用できることを指摘してくれた Patryk Obara に感謝します。

于 2016-12-13T00:51:37.287 に答える