プロジェクトを進めていると、リポジトリのツリー構造を検討するために、現状のツリーをエクセルなどで出力して使いたいなどというケースがあるかと思います。
色々と試行錯誤した結果を記します。
#まずはsvn listを使ってみた
まずは一般的なSVNコマンドを使ってリスト出力を試みました。
svn list -R http://svnserver.com
出力されるが、ファイルまで出力されるので、巨大なリポジトリだと途方もない時間が・・・
フォルダだけ出力してくれるオプションは無いものか。
探しましたが、--depthを使って深さを選べるものの、
svn list -R --depth immediates http://svnserver.com
で、直下のフォルダを取れるぐらい。惜しいですが、目的は達成できませんでした。
#次にチェックアウトのオプション
結果から言うと、listで使えるオプションとほぼ変わらないので、使えませんでした。
#結論
結局スマートに出力する方法は見つかりませんでしたが、方法は2つあります。
-
svn listでファイル名まで我慢して出して後で成形。
-
ツリーのトップをチェックアウトして、コマンドラインにて
tree C:\checkoutdirectory
コマンドを実行する。(checkoutdirectoryはご自分の環境に合わせて)
いずれにしても時間がかかってしまう重い作業です。
1.の方法を使って、Jenkinsで常に最新のツリーリストをどこかに出力するタスクを深夜にやっておけば少しは軽減されるかな?
#おまけ
前章の1.のテキストのファイル名だけ消す正規表現。
([^/]+?)?$
そこから、この記事の手順を実行すれば幸せになれます。(sakuraエディタですが)
ivsatran - SAKURAエディタで重複行削除