私はこの問題を抱えています:Subversionリポジトリが与えられた場合、リポジトリhttp://svn/trunk/
全体を検索して、名前が付けられたすべてのファイルexp.xml
(それらのURL全体)を検索/一覧表示したいと思います。最初のオカレンスが見つかったら、URLのさらに下の検索を停止します。明確にするために、ここにいくつかの架空のURLがあります。
http://svn/trunk/pro1/sub-pro-x/exp.xml/sub-pro-x1/exp.xml
http://svn/trunk/pro2/sub-pro-y/pro-y1/exp.xml/sub-pro-y1/exp.xml
http://svn/trunk/pro3/sub-pro-z/exp.xml/sub-pro-z1/exp.xml/sub-proj/exp.xml
結果は次のようになります。
http://svn/trunk/pro1/sub-pro-x/exp.xml
http://svn/trunk/pro2/sub-pro-y/pro-y1/exp.xml
http://svn/trunk/pro3/sub-pro-z/exp.xml
今、私はすでに解決策を持っていますが、リポジトリ全体を検索したgrep exp.xml
後に使用するため、あまり効率的ではありません(30〜40分)。svn -R list ---
知りたい場合は、次のコマンドを使用してください。
svn list -R http://svn/trunk | grep /exp.xml
だから私の質問は、このクエリを大幅に高速化することが可能かどうかです。私が考えていることの1つは、言語、できればPerlを使用して、すべてのリンクを直接トラバースしhttp:/svn/trunk/
て処理し、最初のリンクが見つかったらそれ以上のトラバースを停止することexp.xml
です。
御時間ありがとうございます。