読者です 読者をやめる 読者になる 読者になる

ゲンゾウ用ポストイット

Java、Groovy、Linux関連の備忘録

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

svndiffexp

#!/bin/bash
target=`svn info | grep 'URL: ' | sed 's/URL: //g'`
r1=$1
r2=$2
todir=$3

list=""
for f in `svn diff ${target} -r ${r1}:${r2} --summarize | grep -v ^D | sed -e "s@^. *${target}/@@g"`
do
	if [ -f "$f" ]
	then
		list="$list $f"
	fi
done
tar cf - $list | (cd "${todir}"; tar xvf -)

使い方

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

$ cd your_svn_work_dir
$ svndiffexp 10 12 ~/modfiles/