在工作中,总有一些bug源于某些文件忘记check in,并提交到svn服务器而引起的。以下脚本就是为了方便的将不受svn控制的文件add到check in 列表中。
vim addfile.sh
#!/bin/bash
ig_array=("?" ".idea" ".bundle" "tags" ".zeus.sock" "public/logs")
is_in_ig_list()
{
svn_path=$*
for ig in ${ig_array[*]}
do
if [ $ig = $svn_path ]
then
return 1
fi
done
return 0
}
for svn_path in `svn st |grep ?`
do
is_in_ig_list $svn_path
if [ $? -eq 0 ] ; then
printf "[\E[31;33m\033[36m${svn_path}\033[0m] add to svn[y/n]:"
read choise
if [ "-$choise" = "-y" ] || [ "-$choise" = "-" ] ; then
svn add $svn_path
fi
fi
done
给文件以执行的权限
chmod +x ./addfile.sh
使用的时候很简单
cd project-dir
./addfile.sh
每个文件都需要用户确认(y或回车),如果你很自信所有的文件都需要add的话可以使用
yes |./addfile.sh
以后将不怕再犯这种低级错误啦