最近、シンボル サーバーをセットアップし、ビルド スクリプトにSrcSrvサポートを追加しました。これにより、フィールドからクラッシュ ダンプを簡単にデバッグし、WinDbg や Visual Studio デバッガーが Subversion リポジトリから正しいバージョンのソース ファイルを取得できるようになりました。クラッシュしたアプリケーションの特定のバージョンをコンパイルするために使用されます。
Debugging Tools for Windows パッケージに付属するストック スクリプトを呼び出す行をビルド スクリプトに追加しましたがsvnindex.cmd
、このスクリプトはスペースなどの URI エスケープ文字を含むリポジトリ ファイルパスを文字化けすることがわかったので、WinDbg は からファイルをダウンロードできません。リポジトリ。
svnindex.cmd
(具体的には、svn.pm
それが開始する Perl スクリプト) は、svn info
コマンドの出力からソース ファイルのリポジトリの場所を取得し、svn
リポジトリ パスを URI エスケープすることに注意してください。これsvnindex.cmd
に遭遇すると、パスを台無しにします。たとえば、パスをオンにします
"http://mysvnrepo/My%20Application/trunk/Database%20Layer/OracleAdapter.cs"
の中へ
"http://mysvnrepo/My20Layer/OracleAdapter.cs"
SrcSrv は、"%" の間のすべてを、実行時に置き換える変数名として解釈することがわかりました。
リポジトリ内のすべてのディレクトリの名前を変更して、URI エスケープされるスペースやその他の「特殊」文字を削除することは不可能であると仮定すると、この制限を回避するにはどうすればよいですか?