カテゴリー
コンピューター

【Subversion】指定リビジョンから最新までの変更ファイルリストを作成するコマンド

やりたいこと

  • Subversion のリビジョン 10 から最新までに追加変更削除したファイルのリストを得たい。
  • 上記のうち、拡張子が sql のファイルのリストに絞り込みたい。
  • さらに、上記リストをファイルに出力したい。

ポイント

# svn diff --summarize -r r10:HEAD
# Subversion のリビジョン 10 から最新までの変更したファイルのリストにを出力
# | grep .sql
# パイプで渡ってきた内容の中から、拡張子が sql のファイルのリストに絞り込み
# | > list.tzt
# 上記リストをファイルに書き込み
svn diff --summarize -r r10:HEAD | grep .sql > list.txt

環境

  • Windows 7 Provessional 32 bit
  • svn, version 1.8.8 (r1568701)
    compiled Feb 26 2014, 10:35:32 on x86-microsoft-windows
  • TortoiseSVN 1.9.5, Build 27581 -32 Bit , 2016/11/26 09:18:58
    Subversion 1.9.5, -release
  • git version 2.12.0.windows.1
    ↑ Git Bash で作業するため必要。

実践

$ svn diff --summarize -r r10:HEAD | grep .sql > list.txt
$ cat list.txt
M       trunk¥src¥plsql¥db1¥test1.sql
... 略 ...
M       trunk¥src¥plsql¥db9¥test999.sql
Binary file (standard input) matches

補足。ちなみに Git で同じことをするなら

# コミット ID は連番ではないので、あらかじめ調べておく必要がある。
git diff --name-only <rev10-commit-sha>...HEAD | grep .sql > list.txt
# 現場ではこちらの出番が多そう。
git diff --name-only master...HEAD | grep .sql > list.txt

おわりに

次のページが参考になりました。ありがとう存じます!

以上です。

コメントを残す