svnadds: 一键提交所有新增文件和修改文件

清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>

#!/bin/bash

#############################################
# usage:                                    #
#   svnadd                                  #
#   svnadd path                             #
#   svnadd path message                     #
#############################################

curdir='./'
choice=''
message=''

# check which directory you want to add svn.
if [ -n "${1}" ]; then
    curdir="${1}"
    if [ -n "${2}" ]; then
        message="${2}"
    fi
fi

# get the files you maybe want to add svn
files=`svn st ${curdir} | awk '/\?/ { print $2 }'`

if [ -z "${files}" ]; then
    echo 'no files to submit!'
    echo ''
    exit
fi

echo ''
echo 'The files that you maybe want to add svn:'
echo "START: [`date '+%Y-%m-%d %H:%M:%S'`] ---------->> "

for f in $files
do
    echo '    '$f
done

echo '-------->>'
echo -n 'Do you want to add the files to under the subversion? (y/n)'
read choice

while [ "${choice}" != "Y" -o "${choice}" != "y" ]
do
    if [ "${choice}" == "Y" -o "${choice}" == "y" ]; then
        for f in $files
        do
            echo "    Executing command: svn add ${curdir}/${f}"
            svn add "${curdir}/${f}"
        done
        echo "    Executing command: svn ci -m '' ${curdir}"
        svn ci -m "${message}"  "${curdir}"
        echo "END: [`date '+%Y-%m-%d %H:%M:%S'`] <<-------- "
        echo ''
        exit
    else
        if [ "${choice}" == "N" -o "${choice}" == "n" ]; then
            echo 'You have cannel to submit the files.'
            echo "END: [`date '+%Y-%m-%d %H:%M:%S'`] <<-------- "
            echo ''
            exit
        else
            echo -n 'The error choice, please input your choice(y/n):'
            read choice
        fi
    fi
done