Linux环境下svn回滚单个文件的shell函数
来源:互联网 发布:python怎么取最大 编辑:程序博客网 时间:2024/05/21 17:15
废话少说,直接上代码
svnRollBack(){ # 获取文件路径 file=$1 # 更新文件到最新版 arr=`svn up $file` # 将文件版本号从信息中抽取出来 arr=${arr##* } v=${arr%。*} # 获取到文件的所有更新信息 arr=`svn log $file` # 从更新信息中删去不必要的信息 arr=${arr#*------------------------------------------------------------------------} # 这条指令执行两遍代表着获取当前版本的上一个版本号 # 想获得上n个版本就重复n+1遍 arr=${arr#*------------------------------------------------------------------------} # 继续抽取 arr=${arr%%|*} # 获得目标版本号 lv=${arr#*r} echo "roll back" # 将两个版本的文件融合 svn merge -r $v:$lv $file # 提交修改 svn commit -m "roll back" $file}
一、以下为 svn up 执行后的结果,为了获取版本号就必须将285097提取出来
二、以下为通过 svn log 获取文件的更新记录,为了获取当前版本的上一个版本,就必须将其中的252514(没有r)提取出来
三、通过svn merge 将两个版本的文件进行合并
svn merge -r 新版本号:需要回滚到的版本号 文件路径
四、通过svn commit 将文件提交
svn commit -m 说明信息 文件路径
五、关于抽取版本号
由于执行svn的指令每次返回的都是一堆乱七八糟的东西所以为了抽取版本号,必须使用Shell自带的字符串截取方法,详情请看另外一篇博客
Shell脚本截取字符串的方法
0 0
- Linux环境下svn回滚单个文件的shell函数
- svn 回滚 单个文件 或者 目录 或者 整个项目
- git 回滚单个文件
- svn回滚文件
- Linux svn 版本回滚的方法
- svn的回滚
- linux 环境下svn忽略文件的设置
- linux svn 版本回滚
- Linux 下Shell脚本回滚删除数据
- Shell函数(Linux环境下测试)
- Linux下的shell编程(六)--函数,重定向,文件
- svn 回滚的命令
- Linux 下用shell脚本对SVN 修改的文件进行备份
- Linux svn 回滚版本库
- Linux svn 回滚版本库
- linux环境下svn的搭建管理
- linux下svn环境的搭建
- svn checkout单个文件
- libevent学习之跨平台Reactor接口的实现
- centos安装php模块之后还是提示not found解决方法
- 迈出从3K到1W的重要一步——掌握设计模式
- Java Web 学习笔记(四) 基于 SpringMVC+BootStrap 创建WebApp
- 【技术创业】Excuse me,这家伙的梦想竟然是拯救中国足球
- Linux环境下svn回滚单个文件的shell函数
- Android Studio修改项目目录结构
- “不要相信一个程序员在加班时间写出的代码”这是真的吗?
- python学习记录--日期和时间
- Packet for query is too large(mysql查询数据过大)
- JS的构造函数
- Flex Layer层标签
- window donet的Invoke与BeginInvoke
- ubuntu 下搭建开发LAMP环境(linux apache mysql python)