TortoiseSVNから脱却し完全にWindowsとさようならし、マックに移行したいウェブエンジニアは多いはず。ただしTortosiseSVNで出来てMacのSVNクライアントで出来ないことの1つとして、特定のリビジョン間の差分をエクスポートするがよく挙げられます。
そこで、ググってたどり着いたのがGitやSubversionの差分ファイルを抽出するShellです。
まぁ。ここのページそのまんまなんですが、一応備忘録的に書き残しておきます。
準備
$ cd /usr/local/sbin
$ wget https://raw.github.com/gist/1258524/bef227c642d2e94cc0395a0d68505c6abba8e091/export-diff.py
$ chmod x export-diff.py 僕の環境には/usr/local/の中にsbinがいなかったので
$ mkdir sbin
しました。 準備はこれだけです。
使い方
$ svn diff -r 差分の始点リビジョン:差分の終点リビジョン --summarize | export-diff.py 保存先ディレクトリ
例
$ svn diff -r 122:134 --summarize | export-diff.py /User/☓☓☓☓/Desktop/diff
これだけです。正直、MacのSVNクライアント(VersionsとかCornerstone)は、良さそうだけどTortoiseSVNと比較すると不満が残る。なので、頑張ってコマンドラインでやったほうが個人的には良いと思う。
後は、WinMerge的な何かでDiffを解決出来ればWindowsは本格的に要らなくなる。
因みにGitの場合も同じスクリプトで解決出来ます。
git diff --name-status HEAD~1 | export-diff.py /Users/macbookpro/Desktop/diff
こんなかんじで git diff –name-status
の後に起点となるHEADから遡るリビジョンの数(1遡る場合は~1、2遡る場合は~2)を入れてパイプでつないであげるだけです。