前回は bash を利用して git の diff で差分のあるファイルを抽出するためのスクリプトを詳解しました。
今回は Subversion の diff での抽出方法を詳解します。ほとんど同じですが・・・。
#!/bin/bash rm -rf ~/diff_file echo "以下のファイルを作成しました" cmd="`svn diff | grep "^Index: " | sed 's/^Index: //'`" for file in $cmd do path=${file%/*} mkdir -p ~/diff_file/${path} cp $file ~/diff_file/$file echo $file done
前回の git 版と違う部分のみ説明します。
■ 4行目
grep "^Index:"
svn で diff を表示すると色々出てきますが、その中から grep で先頭が「Index:」で始まる行のみを抽出します。
その後「Index:」という文字はいらないので、
sed 's/^Index: //'
にて「Index:」を空文字で置換します。
すると、ファイルパスのみの文字列情報になります。
あとは、Gitの時と同じですね!
The following two tabs change content below.
ロゴスウェア
ロゴスウェア株式会社は、インターネットや情報技術を使って学習に革新的進化をもたらす製品を開発することを目標に、2001年7月に設立されたテクノロジー系ベンチャー企業です。
最新記事 by ロゴスウェア (全て見る)
- Amazon Linux(EC2)と PHPSTORM で Xdebug を行う - 2018年9月26日
- やらないことの合意 - 2018年6月27日
- 卒園アルバムとプロジェクトマネジメント - 2018年3月30日
Comments are closed.