Pazar, Nisan 25, 2010

svn add

The Productive Programmer okurken gördüğüm aşağıdaki tek satırlık komut ile tüm yeni dosyaları svn add yapabilirsiniz.
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add

Fakat sorgusuz sualsiz tüm dosyaların eklenmesi hoşuma gitmedi. O yüzden aşağıdaki bash scripti yazdım. buna -all parametresi verirseniz üsteki komutu çalıştırıyor. Parametresiz halinde ise her dosya için sorarak onaylanması halinde ekliyor.

#!/bin/bash
if [ "$1" = -all ]; then
svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g' | xargs svn add
exit 0
fi

for i in $( svn st | grep '^\?' | tr '^\?' ' ' | sed 's/[ ]*//' | sed 's/[ ]/\\ /g'); do
read -p "Add file : $i (y/n)?"
if [ "$REPLY" == "y" ] || [ "$REPLY" == "" ]; then
svn add $i
fi
done

0 yorum: