注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Big-Time的博客

天行健,君子以自强不行。

 
 
 

日志

 
 
关于我

人生像攀登一座山,而找寻出路,却是一种学习的过程,我们应当在这过程中,学习稳定、冷静,学习如何从慌乱中找到生机。

网易考拉推荐

获取 SVN 一段时间内文件改动列表  

2016-10-13 12:45:09|  分类: Svn |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Web产品(例如网站, WebApp)在做新版本发布时, 一般我们需要提交一个待发布文件的列表, 增量更新到生产环境的服务器上, 没有做整体替换.
这个待发布文件列表其实就是一个所有改动文件的列表, 列出了新增, 修改, 删除了哪些文件, 主要是辅助发布的过程, 确保没有遗漏文件造成版本发布失败.

例如
5月6号发布版本, 从上次封版到这次发版中间到底改动了哪些文件呢?
这是个头痛的问题, 必须确保无一遗漏才能万无一失!

其实待发布文件列表就是 SVN 的操作记录, 可以通过 svn log 得到, 但这个日志没有排除重复, 会详细的列出每个文件的多次操作记录, 太累赘了, 还需要我们逐个进行整理. 我需要的是一个列表明确地告诉我在此次版本期间, 我们新增, 修改, 删除了哪些文件就好了.

在困惑了一段日子后, 终于有机会来寻找解决方法了, 其实通过 svn 命令行(TortoiseSVN不行, 需要先安装 svn 命令行工具)是可以获得这个列表的.
命令格式如下:
    svn diff -r REVNO:HEAD --summarize http://svn-url

例如
想检查从 724版本 开始到目前所有改动文件的列表
    svn diff -r 724:HEAD --summarize https://192.168.198.2/svn > changedfiles.txt
可以简写成这样
    svn diff -r 724 --summarize https://192.168.198.2/svn > changedfiles.txt

或者你只知道需要检查版本的日期, 这就相当于检查从 2015-05-06(上次封版日期) 开始到目前(此次发版日期)所有的文件改动
    svn diff -r {2015-05-06} --summarize https://192.168.198.2/svn > changedfiles.txt
或者日期区间
    svn diff -r {2015-05-04}:{2015-05-05} --summarize https://192.168.198.2/svn > changedfiles.txt

这样我们就能够实现自动化发布了...

参考
------------------------------------
需要先安装 svn 命令行工具
Apache Subversion command line tools

What svn command would list all the files modified on a branch?
Get files changed for a set of revisions
SVN Tip: Get List of Files Changed Between Revisions
Checking out an older revision from SVN
Google get svn all change file

  评论这张
 
阅读(32)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017