shell导出svn差异文件

#!/bin/sh

OLD_VERSION=$1
NEW_VERSION=$2

USERNAME="bobway"
PASSWORD="bobway"
EXPORT_PATH="/home/export"

SVN_URL="svn://127.0.0.1/bob"

DIFF_URL="svn diff -r ${OLD_VERSION}:${NEW_VERSION} --summarize --username ${USERNAME} --password ${PASSWORD} ${SVN_URL}"

DIFF_NUM=`${DIFF_URL} |wc -l`
if [ ${DIFF_NUM} -ne 0 ]; then
    echo "different files ${DIFF_NUM}"
    DIFF_LIST=`${DIFF_URL}`
    NUM=0
    SKIP=0
    for FIELD in ${DIFF_LIST}; do
        if [ ${#FIELD} -lt 3 ]; then
            let NUM++
            SKIP=0
            if [ "${FIELD}" == "D" ]; then
                SKIP=1
            fi
            continue
        fi
        if [ ${SKIP} -eq 1 ]; then
            echo 'delete file, skip:'${FIELD}
            continue
        fi
        #变量替换
        DIFF_FILE=${FIELD//${SVN_URL}/}
        FILE_NAME=`basename ${DIFF_FILE}`
        FOLDER_NAME=`dirname ${DIFF_FILE}`
        FOLDER_PATH="${EXPORT_PATH}${FOLDER_NAME}"
        if [ ! -d "${FOLDER_PATH}" ]; then
            mkdir -p ${FOLDER_PATH}
        fi
        CMD="svn export -r ${NEW_VERSION} ${SVN_URL}${DIFF_FILE} ${FOLDER_PATH}/${FILE_NAME}"
        echo ${CMD}|sh
    done
fi

 

转载于:https://my.oschina.net/bobwei/blog/1860479

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值