`
TimerBin
  • 浏览: 361128 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

基于shell获取指定SVN版本号间的改动文件

阅读更多

首先新建svn_update.sh,shell脚本命令如下所示:

BEGIN_VERSION=$1
END_VERSION=$2
#开始版本号-结束版本号 分别对应命令执行中的第一个和第二个参数
echo $BEGIN_VERSION'----'$END_VERSION
#需要将获取到的改动文件所存放放地址
BASE_PATH='/home/root/timerBin/'
#由于SVN路径大多是http://xxx.xxx.xx/svn/timerBin这个样子的我们获取的改动文件日志中不需要这中固定地址所以这里定义变量,在diff时将其replaceAll
REPLACE_PATH='http\:\/\/xxx\.xxx\.xxx\/svn\/timerBin\/code\/trunk'
#SVN共有的更新目录 这里目录和REPLACE_PATH 是相同的 只是缺少了转义
SVN_PATH='http://xxx.xxx.xxx/svn/timerBin/code/trunk'
#获取当前日期
TIME="$(date +"%Y%m%d")"
#循环读取两个版本号之间的改动文件日志信息,并将其结果截取成可用字符串信息 例如:/web/service/timerServince.java
for i in  `svn diff -r $BEGIN_VERSION:$END_VERSION --summarize $SVN_PATH | grep '^[AM]' | sed 's:^[AM]M*\s*::g' | sed 's: :!@!:g' | sed 's:'$REPLACE_PATH'::g'`; do
    #将可用字符串赋值给ALL_PATH变量
	ALL_PATH=`echo $i`;
	#截取ALL_PATH变量目录信息
	PARENT_PATH=`dirname $ALL_PATH`;
	#在存放地址创建目录信息
	mkdir -p ${BASE_PATH}${PARENT_PATH};
	#将改动的文件内容检出到存放地址所创建目录中
	svn export  ${SVN_PATH}${ALL_PATH} ${BASE_PATH}${ALL_PATH};
done
#将两个版本号之间的改动文件日志 保存到相应.txt文件中
cd ${BASE_PATH}
svn diff -r $BEGIN_VERSION:$END_VERSION --summarize $SVN_PATH | grep '^[AM]' | sed 's:^[AM]M*\s*::g' | sed 's: :!@!:g' | sed 's:'$REPLACE_PATH'::g' > ${BASE_PATH}${TIME}.txt
echo 'OK'

    命令的执行方式如下所示:

./svn_update.sh  100010 101000

 

    注:在执行命令之前需要该用户具有以上所有目录的读写权限。

 

分享到:
评论

相关推荐

    SVN综合版本

    TortoiseSVN-1.8.3.24901-win32-svn-1.8.4是其版本信息,其中1.8.3表示TortoiseSVN的主版本号,24901可能是内部构建号,win32表示这是适用于32位Windows系统的版本,而svn-1.8.4表明它基于SVN服务器的1.8.4版本,...

    SVN相关软件的压缩包文件

    VisualSVN Server是一款用于Windows平台的SVN服务器管理工具,其版本号为4.1.3,同样针对64位系统。通过这个工具,用户可以轻松地安装和配置SVN服务器,创建和管理仓库(Repository),设置用户权限和访问控制。...

    svn command,svn常用指令

    - **-c**:指定版本号。 ##### 1. 合并指定版本间的变更 ```shell svn merge -r version2:version1 svn://10.132.130.200/trunk ``` #### 十四、解决冲突 ```shell svn resolved ``` - **svn resolved**:标记已...

    svn以及各插件版本对应

    这里的1.9.5.27581是TortoiseSVN的版本号,适用于64位系统,它提供了图形化的界面,使非程序员也能轻松地使用SVN。 3. site-1.12.x.zip:这可能是一个名为“site”的项目或站点的特定版本,可能包含了配置文件、...

    SVN服务端subversion SVN客户端TortoiseSVN最新版本

    提供的文件“subversion-1.6.9”表明这是Subversion的一个较旧版本,版本号1.6.9。最新的TortoiseSVN版本可能包含更多的增强功能、性能优化和安全修复。建议始终使用官方渠道获取和更新到最新版本,以确保最佳的...

    svn版本控制器32位安装包

    1. **TortoiseSVN**:这是一个与Windows shell集成的SVN客户端,提供了图形用户界面,使得用户可以直观地进行版本控制操作,如添加、删除、更新、提交文件等。TortoiseSVN-1.8.4.24972-win32-svn-1.8.5.msi 是该...

    Win32SVN 1.7版本

    TortoiseSVN 1.7.7是其特定的版本号,包含了Subversion服务器1.7.5的核心库,这个版本引入了许多改进和修复,提高了性能和稳定性。 在1.7版本中,Subversion引入了几个重要的新特性: 1. **工作副本格式升级**:1.7...

    svn星号不显示问题解决

    在使用 Subversion (SVN) 进行版本控制时,用户可能会遇到一个常见的问题:SVN的状态图标(如星号)未能正常显示在文件或目录旁边。这种情况通常会影响到文件状态的可视化,使得开发者难以直观地了解当前工作副本的...

    svn迁移到gitlab的shell批处理脚本

    - -r:指定版本号范围,即迁移的起始和结束版本。 8. 配置Git远程仓库origin的URL为GitLab仓库地址。 9. 使用git remote -v命令查看远程仓库信息,确认配置无误。 10. 执行git pull --rebase origin master命令...

    win64位-中文版svn-1.9.7版本

    每个文件和目录都有一个唯一的版本号,可以随时查看或恢复到过去的任何状态。 在Windows环境下安装SVN,首先需要下载并安装SVN的服务器组件,如VisualSVN Server,这是一个易于使用的免费服务器解决方案。安装后,...

    SVN帳號管理

    SVN基于集中式版本控制系统模型,所有版本信息存储在一个中央仓库,开发人员通过客户端与仓库交互,进行文件的增删改查和版本控制操作。在这个过程中,帐号管理扮演着关键角色,控制谁可以访问仓库,进行哪些操作。...

    svnserver(64)+svnclient(64)

    它允许开发团队协同工作,跟踪文件的修改历史,合并不同的改动,并提供版本回溯功能。64位版本的Subversion是为了在处理大型项目或高负载环境时,提供更好的性能和稳定性。 【描述】中的"64位svn的客户端以及服务端...

    svn服务端与客户端

    2. **Commit(提交)**: 当你在本地工作副本中修改了文件后,可以将这些改动提交回 SVN 服务器,更新版本历史。 3. **Update(更新)**: 从 SVN 服务器获取最新的更改到本地工作副本,确保与团队同步。 4. **Merge...

    svn同步工具

    - 版本号:每个提交都会有一个唯一的版本号,表示文件或目录的状态。 - 检出(Checkout):从仓库获取最新版本到工作拷贝。 - 提交(Commit):将本地修改保存到仓库,增加版本号。 - 更新(Update):将仓库的...

    svn+简体中文语言包

    1. **Subversion(svn)**:Subversion是一个分布式版本控制系统,用于追踪文件和目录的修改历史,允许团队成员协同工作,避免编辑冲突,并能够恢复旧版本的文件。 2. **版本控制系统**:版本控制系统通过记录每次...

    SVN(含中文)

    SVN的核心概念还包括版本号、修订日志、URL、HEAD版本等,这些概念对于理解SVN的工作方式至关重要。此外,SVN还支持通过SSL/TLS加密通信,确保代码的安全性。 总的来说,这个SVN一键安装包结合中文语言包,为中文...

    SVN客户端 适用64位Win7

    【svn-1.7.1】是SVN的版本号,表明该客户端基于Subversion 1.7.1版本。每个版本的SVN都会包含一些新功能、性能优化和错误修复。1.7版本引入了一些重要的改进,例如增强了工作副本的元数据结构,减少了磁盘空间占用,...

    SVN服务端工具_svn服务端_unity3d_unitySVN_服务器_

    其次,`TortoiseSVN` 是一个基于Windows Shell的SVN客户端,与Unity3D开发者常用的开发环境无缝集成。1.12.0是其版本号,显示了它的成熟度和稳定性。`TortoiseSVN-1.12.0客户端.28568-x64-svn-1.12.0.msi` 文件代表...

    svn安装包中文版

    提供的文件名为"TortoiseSVN-1.10.0.28176-x64.msi",表明这是TortoiseSVN的64位版本,版本号为1.10.0,构建号为28176。 在安装TortoiseSVN之前,了解一些基本的svn概念是有必要的: 1. **仓库(Repository)**:...

    SVN程序管理软件 非常好

    TortoiseSVN-1.3.3.6219-svn-1.3.1.msi是这个客户端的安装文件,版本号为1.3.3,表明它是2007年左右发布的较早版本。 使用SVN进行版本控制有以下关键操作: 1. **Checkout**:从仓库获取最新的工作副本,这是开始...

Global site tag (gtag.js) - Google Analytics