shell 实现 svn cleanup

V0.1

#! /bin/bash


files=`svn status | grep -v ?`  #也可以写成 files=$(svn status | grep -v ?) 的形式

for file in ${files}
do
    if [ ! ${#file} -eq 1 ]
    then
        rm $file
    fi
done

svn update

 

  参见《Bash Reference Manual》 3.5.4 Command Substitution,想要引用 cmd 的输出有两种方式,$(command) 或者 `comand`。

 

V1.1

#! /bin/bash

set -e

files=`svn status | grep -v ?`

for file in ${files}
do
    del=1

    if [ ! ${#file} -eq 1 ]
    then
        for skip in $@
        do
            if [ ${file} == ${skip} ]
            then
                del=0
                break
            fi
        done

        if [ ${del} -eq 1 ]
        then
            echo "rm ${file}"
        else
            echo "not rm ${file}"
        fi
    fi
done

TODO

  • 更新到相应版本号
  • 删除不在版本库中的文件

posted on 2019-06-17 11:08  rivsidn  阅读(248)  评论(0编辑  收藏  举报

导航