Subversionのリポジトリ上から2つのリビジョンの差分ファイルをピックアップするスクリプト

Bash

svndiffexp

#!/bin/bashtarget=`svn info | grep 'URL: ' | sed 's/URL: //g'`r1=$1r2=$2todir=$3list=""for f in `svn diff ${target} -r ${r1}:${r2} --summarize | grep -v ^D | sed -e "s@^. *${target}/@@g"`doif [ -f "$f" ]thenlist="$list $f"fidone
tar cf - $list | (cd "${todir}"; tar xvf -)

使い方

your_svn_work_dirというsvnの作業コピーディレクトリから、リビジョン10~12で変更されたファイルをピックアップする。

$ cd your_svn_work_dir
$ svndiffexp 10 12 ~/modfiles/

Bash