🔍

svn diff でファイル名のみ抽出する

svn diff でファイル名のみ抽出するコマンドについては、 いろいろ検索してみると、

svn diff /path/to/trunk /path/to/branch | grep "^--- " | sed 's/^--- //' | sed 's/\t.*$//'

のような方法が出てくるんだけど、 これだと、画像などのバイナリファイルが取得できない。

svn diff の出力、テキストファイルの場合は

--- hogehoge.txt
+++ hogehoge.txt

というような記述があって、上記のコマンドは上の行を抽出してるけど、 バイナリファイルだとそもそもこのような記述が無く、diffの出力には出てきても grepで抜けてしまう。

なので、こうしてみた。

svn diff /path/to/trunk /path/to/branch | grep "^Index: " | sed 's/^Index: //'

これだとバイナリファイル名も取れる感じ。