svnのディレクトリのステータスを取得し、それをループしてファイルを追加または削除するシェルスクリプトを作成しています。
このsvnコマンド
$ svn status /myLocalDir/files
ローカルで追加または削除したファイルを返します。?=追加、!=削除
! /myLocalDir/files/deletedPicture.png
? /myLocalDir/files/addedPicture.png
bashスクリプトでループを使用しています(以下を参照)。私がする必要があるのは、追加または削除されたファイル/フォルダのルートディレクトリをループするときに、次のことを行う必要があることです。
A.「削除」[X]または「追加」[X]を印刷します
B.最初の文字(?、!)に基づいて、ループ内の現在のファイルをsvnに削除または追加する必要があるかどうかを判断します。
文字列"!/myLocalDir/files/deletedPicture.png"を解析してそれを行う方法の構文がわかりません。
for X in `svn status /myLocalDir/files | cut -c 8-300`
do
if [ "!" ]
then
echo "Deleting " $X
#svn $CREDENTIALS delete $X
else
echo "Adding " $X
#svn $CREDENTIALS add $X
fi
done
私が気付いているもう1つのこと..コマンドラインでsvnステータスを考えても
! /myLocalDir/files/deletedPicture.png
? /myLocalDir/files/addedPicture.png
私のbashループエコーはこのようなものです
!
/myLocalDir/files/deletedPicture.png
?
/myLocalDir/files/addedPicture.png