首先新建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提交的版本号,然后修改指定dll,exe的版本信息。最好达到的效果是,每次提交完svn后重新编译代码,会将最后提交的版本号写到version里比如:2.0.0.64,;2.0是大版本号,手动修改资源信息即可,后两...
svn两个版本之间改动的文件列表 包括新增和更新的文件 用PYTHON写的脚本
VS2017通过自动设置命令行命令,每次编译时自动获取SVN reversion版本号,在代码中使用,可以作为软件的版本号之一,对软件进行版本控制
获取svn最新版本号示例 以及svn常用命令,示例下载后 右键--编辑 查看命令
maven 简单实用的配置,打包,获取svn版本号、仓库等等实用
svn两个版本之间改动的文件列表 包括新增和更新的文件 用PYTHON写的脚本
利用svnkit操作svn,实现对版本修改文件的导出,可以导出多个版本,.java文件将会在本地取出.class文件,导出后压缩成压缩包,主要用于服务器上的资源更新,不需要开发人员去找到对应的.class文件或其他文件压缩然后...
指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间时间 获取SVN日志指定区间...
B.) 根据 SVN 版本库现有版本号,实现版本号的自劢累加。 C.) 根据 SVN 版本库和代码库的版本号,当前时间戳自劢生成编译版本号。 D.) 自劢检测是否在 linux 版本库中生成版本文件夹,如 V0, V1 …等。 E.) 根据自劢...
Jenkins自动化部署获取svn二级目录,Jenkins部署教程和动态获取svn路径教程
VS编译发布根据SVN自动更新版本号,方便追踪和查找问题对应的版本
ant获取SVN版本信息的jar包xmltask以及安装,使用方法 包含jar包以及在ant的编译脚本XML所需加入的节点信息,供大家参考!
获取Jar包的版本号、svn修订号。
shell脚本导出svn两个版本之间的文件
Linux通过shell脚本创建SVN版本库简化创建过程.docx
在windows环境下,提交代码到svn中,使用钩子脚本,获取项目名称,提交人,提交时间,提交的日志信息,版本号,纯bat脚本。ps:不是pre-commit.bat文件,因为在该文件中获取不到真正的版本号。
vc++插件,编译时自动修改RC资源文件版本号部分。 修改依据VisualSVNServer中提交的版本号。 因路径写死的,固要求VisualSVNServer安装在C盘。
SVN版本控制原理SVN版本控制原SVN版本控制SVN版本控制原理原理理SVN版本控制原理
清除SVN版本化的注册表文件。可以用它去处版本化
删除svn 版本信息的两种途径,一个是导入注册表中,然后右键菜单触发;一个是bat文件,直接考在目标文件根目录下运行