Hatena::ブログ(Diary)

現場のためのソフトウェア開発プロセス - たかのり日記 このページをアンテナに追加 RSSフィード Twitter

2008-03-18

[]Subversionで更新ファイル一覧を取得する方法 23:52 Subversionで更新ファイル一覧を取得する方法を含むブックマーク Subversionで更新ファイル一覧を取得する方法のブックマークコメント

パッチビルドを行いたい場合など、あるリビジョン間で、更新されたファイルだけを一覧で取得したいケースがあります。

これは、Subversionsvnコマンドだけではできません。

svnコマンドで、diffの機能はあるのですが、これは、ファイル一覧を取得するのではなく、内容の差分を出力することになります。


ただ、TortoiseSVNを利用すると、ファイルの一覧をエクスポートできます。


  1. 作業コピーのルートのディレクトリを右クリックして、「TortoiseSVN」メニューから「ログを表示」。
  2. ログが出るので、比較したいリビジョンを選ぶ。Ctrlキーを使って、2つ選ぶ。3つ以上選ぶとダメ。
  3. 右クリックして、「リビジョンを比較」。
  4. 比較結果が出るので、エクスポートしたいファイル選択する(通常は全部選択すると思う)。
  5. 右クリックして、「選択をエクスポート」。
  6. エクスポート先を指定して、できあがり。
http://muumoo.jp/news/2008/02/29/0tortoisesvnexport.html

ウチの会社の場合、ミッションクリティカルなシステム開発が多いので、運用後に変更が必要となった場合に、フルビルドしたjarファイルをリリースするのはなかなか許可されません。

影響範囲外でバイナリでの差分がないことを証明するか、全試験が必要となってしまいます。


そのため、パッチリリースができるこの方法は便利!

daickidaicki 2008/03/20 01:45 ファイルのリストが欲しいなら、diffstatってコマンドがありますけど。
#使ってなかったら忘れてしまって調べるのに苦労しました。

出力結果は、

$ svn diff -r 142:143 | diffstat
file1.txt | 442 ----------------------------------------------------------
file2.txt | 273 +++++++++++++++++++++++++++++++++++
2 files changed, 273 insertions(+), 442 deletions(-)

みたいな感じ。

szk-takanoriszk-takanori 2008/03/20 10:13 daickiさん、ありがとうございます。
ファイル名の一覧ではなく、ファイル自体を取得したかったので、diffstatではニーズが満たせませんでした。