svn修改文件提取

经常遇到在版本库中修改了许多文件,而且文件修改都不在同一个目录,当我想将修改的文件另外提取出来的时候,svn并没有提供这样的快捷工具,于是自己利用业余时间做了一个简单的shell脚本,用于提取版本库中修改的文件,代码如下:

#!/bin/bash
curpath=$(pwd)


#获取版本库中修改文件
filename=$(svn st -q |awk '$1 ~/^[M]/ {print $2}')
#echo $filename


#在当前目录下创建export目录,用于保存修改文件目录树
if [ ! -d "export" ]; then
echo "create export dir"
mkdir export
fi


exportdir=$(echo "$curpath/export")
chmod -R 777 $exportdir
logfile=modify$(date +%y%m%d%H%M%S).log
echo "modify log begin..." >$logfile


for file in $filename
do
#得到修改的文件名称
tmp=$(echo $file | awk -F / '{print $NF}')


#获取修改文件坐在的路径
filedir=${file/%"$tmp"/}


if [ ! -d "$exportdir/$filedir" ]; then
echo "$exportdir/$filedir"
mkdir -p $exportdir/$filedir
fi


#将文件拷贝到export中的目录树种
cp -f $file $exportdir/$file


#保存已拷贝的修改文件记录信息
echo $curpath/$file >>$logfile
done


这个脚本暂时只支持原有版本库中修改的文件提取,对于新增加的文件提取如果有兴趣可以实现一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值