2.svn del->打钩 (这个可以写个脚本,用svn status来获取变更的列表,根据! M D 来判断哪些需要 svn Add xxx ,哪些需要 svn Delete xxx,哪些不用做修改,然后一起提交即可)
? 不在管理范围的- svn Add !丢失的 - svn del
rm -rf * --> 这样不会把隐藏文件夹.svn删除,就能够保留svn的记号了 svn status
copy xxx -> 库中, 相同的会不会有差异,不相同的就会有M , 新增的就会 ?表示未管理 , !表示已经丢失了的
svn status | more
根据svn status给我们的记录,我们可以根据类型,来进行操作M的不用管,?的就要svn add !的就需要手动svn del
svn add /home/buildroot/trunk/mjzw-publish/common_script/ --force --non-interactive --username=autobuilder --password=autobuilder@ac0756
svn del PaysysX86D --username autobuilder --password autobuilder@ac0756 先cd一下
svn commit /home/buildroot/trunk/mjzw-publish/ --username=autobuilder --password=autobuilder@ac0756 --non-interactive -m"hehe , my test on linux-102."
1
2 cd /home/buildroot/trunk/mjzw-publish
3
4 svn status > tmp.svn.status
5
6 if [ ! -f "tmp.svn.status" ] ; then
7 echo "Error: file is not exist [tmp.svn.status]"
8 exit 1
9 fi
10
11 i=1
12 _count=`sed -n '$=' tmp.svn.status`
13 while read line
14 do
15 arr[$i]="$line"
16 i=`expr $i + 1`
17 done < "tmp.svn.status"
18 i=1
19 for i in `seq $_count` ; do
20 echo "${arr[$i]}" | cut -c 1
echo "${arr[$i]}" | cut -d ' ' -f 8 #获取到文件名
_head=`echo "${arr[$i]}" | cut -c 1`
22 if [ "$_head" == "!" ] ; then
23 echo "diu shi de."
24 elif [ "$_head" == "M" ] ; then
25 echo "modify de."
26 elif [ "$_head" == "?" ] ; then
27 echo "unversioned file de."
28 fi
21 if [ "${arr[$i]}" != "" ] ; then
22 echo "you can substring zhe M ! ? -> _ del add to svn"
23 fi
24 done
25
26 rm -f tmp.svn.status