`
asdic
  • 浏览: 122495 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SVN 导出修改过的文件

    博客分类:
  • Java
阅读更多

      SVN导出一个修订版本范围中修改过的文件。其实这是一个常见的需求,例如向客户发布一个补丁。

如果是程序员,可以运用diff和patch的方法,但是对于没有编程经验的人来说,最好是直接找到需要提

交的文件,并覆盖掉原来的文件。

      虽然svn本身没有支持这个功能,但是TortoiseSVN却提供了这个支持,台湾一位朋友写了一个图形

教程,我整理了一下转载到了Subversion中文站。另外还有一套Java的解决方案,可以看老外的这个介绍

不过,我觉得上面两个都还不够好,一个不是脚本,另一个则有点麻烦,于是我自己写了一个类似的脚本,

使用python编写,现在做一些简要的说明。

脚本可以在http://svn-script.googlecode.com/svn/trunk/tools/svnchanged_export.py下载,

运行这个脚本需要python的pysvn包,

可以从http://pysvn.tigris.org/servlets/ProjectDocumentList?folderID=1768下载合

适的Windows版本,下载后直接安装即可。

 

使用这个脚本的方式也非常简单,我们就可以直接运行:

python svnchanged_export.py -u username -p password -r 20:HEAD svn://192.168.101.1/lynx/trunk/ xx\yyy

例如上面的命令,用户是username,密码是password,这两个参数可以省略,那样会使用密码缓存或

不需要认证。指定的修订版本范围是20到HEAD,对应的URL是 svn://192.168.101.1/lynx/trunk/。

导出的文件存放到xx\yyy,默认是当前目录“.”。上面的命令执行后,xx\yy目录下就会出现修订版本

HEAD(最新)和修订版本20之间发生过修改的文件,这些文件都存放在原来的相对目录中,修订版本都是

最新的。这个命令还可以写为:

python svnchanged_export.py -u username -p password -r 20:90 svn://192.168.101.1/lynx/trunk/ xx\yyy

这时,比较的修订版本变成了90,而对应的输出的文件都是修订版本90的文件。

这个脚本还没有经过实践的检验,只在我的windows下验证过,所以请大家小心使用,如果有问题,可以告诉

我,我会尽快解决。你也可以直接加入我建立的这个项目,自己去修改这个脚本。说实话,pysvn的接口虽好,

但文档奇缺,我用到一个接口,google没有任何结果。

 

分享到:
评论
5 楼 lipengfei217 2014-10-17  
博主你好,,这个python文件我看了下,正好我需要的一个工具,谢谢博主的分享,同时因为功能方面有些尚不完善,我可能打算稍作修改一些,特来打个招呼 
4 楼 fhj2050 2014-07-05  
fhj2050 写道
真正的一键从SVN导出已经修改过的文件,可以参考下

http://blog.sina.com.cn/s/blog_6ca6bc760102uw6e.html

3 楼 fhj2050 2014-07-05  
真正的一键从SVN导出已经修改过的文件,可以参考下

http://blog.sina.com.cn/s/blog_6ca6bc760102uw6e.html
2 楼 phpseyo 2012-07-23  
很好,正需要这样的一个工具,谢谢博主分享!
1 楼 VonNeumann 2010-12-07  
很实用
专门登录支持一下。。。

相关推荐

    java代码利用svnkit操作svn导出某版本或多个版本修改的文件

    利用svnkit操作svn,实现对版本修改文件的导出,可以导出多个版本,.java文件将会在本地取出.class文件,导出后压缩成压缩包,主要用于服务器上的资源更新,不需要开发人员去找到对应的.class文件或其他文件压缩然后...

    根据SVN的更新日志导出部署目录结构的更新文件

    再把开发的工具和解压的全量更新文件以及导出的SVN更新日志放在同级目录,利用插件把SVN更新日志的增量更新文件提取生成同部署一致的目录结构更新文件。为提高增量更新的效率和减少文件更新错误提供了很大的帮助。

    svn提交日志导出工具v4.1

    由于开发人员对日常工作难免提交svn文件,在项目发版...本工具是导出svn服务器提交日志,可以按照提交人过滤,提交日期过滤,并且可以生成修改文件清单并有去重功能。本版本是新版本添加了若干功能,详见里面的说明文件

    Windows svnlog 转Excel

    可以修改bat文件中第二行的SVNPATH,导出指定SVN路径的log 方法二:在CMD命令行模式下执行命令WINsvnlog2excel.bat $SVNPATH, 即可在当前文件夹下生成指定SVN路径的LOG。 如WINsvnlog2excel.bat svn://192.168.0.84...

    svn-diff-diff:一个导出两个版本的SVN diff文件结构的小工具

    一个导出两个版本的SVN差异文件结构的小工具。 该工具使用 python 2.7、pysvn 和 wxWidgets 创建。 注意:二进制版本仅支持 svn v.1.8.10 或更高版本 依赖库 Python 2.7 pysvn 1.7.9 ( ) wxWidgets

    导出svn两个版本之间的文件shell脚本

    shell脚本导出svn两个版本之间的文件

    svn提交日志导出工具源码

    由于开发人员对日常工作难免提交svn文件,在项目发版的时候...本工具是导出svn服务器提交日志,可以按照提交人过滤,提交日期过滤,并且可以生成修改文件清单并有去重功能 本资源是源码,如果有不足之处,请指出,谢谢

    svn按时间提取更新文件(增量更新)

    该工具能根据时间自动将该时间段修改过的文件提取出来,说明: 1.“源文件根目录”就是项目的目录,比如:D:/workspace/locoso; 2.“class文件根目录”就是项目真正部署需要的文件,比如:D:/workspace/locoso/...

    svn增量包工具

     从事了几年的工作之后,发现在部署服务的时候,总是需要将自己修改的源码编译后,才能放到Tomcat运行,每次修改的文件数量如果比较少(),这种情况下手工拷贝文件,大部分研发工作人员都还能接受;但是有时候开发...

    如何让TortoiseSVN仅导出新增或修改过(变更过)的文件

    对于已经上线的ASP.NET网站来说,后续的维护更新尤其重要,不过每次要更新的时候,都要人工检视历次的版本纪录,检查所有新增、修改、或删除了哪些文件,手动整理好这些文件之后,再更新到正式主机。最麻烦的地方...

    svndiff 工具

    根据版本号自动导出svn被修改的文件,很方便

    svn提交日志导出工具新版本

    由于开发人员对日常工作难免提交svn文件,在项目发版的时候总是要记住自己修改了哪些文件 本工具是导出svn服务器提交日志,可以按照提交人过滤,提交日期过滤,并且可以生成修改文件清单 比上一个版本添加了去重功能

    SVN比较文件.zip

    利用svnkit操作svn,实现对版本修改文件的导出,可以导出多个版本,内含详细注释,根据对应的注释,改成自己可用的即可,这个只是做出来的一个初成品

    SVN用户使用指南 版本控制 源代码管理

    本文档参考论坛SVN使用手册相关内容,并在此基础上修改和增加一些内容,目录结构如下: 1. 引言1 1.1. 目的1 1.2. 范围1 2. SVN基础知识1 2.1. SVN简介1 2.2. SVN特性1 2.3. SVN的架构3 3. SVN的基本应用4 3.1. 客户端...

    TortoiseSVN客户端程序

    在修改过的文件上“右键 -> TortoiseSVN -> Show Log” ,可以看到对这个文件所有的提交。在不同的 revision 条目上“右键 -> Compare with working copy”,我们可以比较工作拷贝的文件和所选 revision 版本的区别...

    git_export:在某些提交中导出 git 文件,例如 svn export

    ##功能git_export.bash+ftp_copy.py:导出某次git提交最新版,打包成一个文件夹,并从服务器ftp上下载备份文件git_backup.bash:复制出某次提交所有更改的文件,并备份上一个版本的这些文件到backup_文件夹##使用1....

    WINsvnlog2excel.rar

    可以修改bat文件中第二行的SVNPATH,导出指定SVN路径的log 方法二:在CMD命令行模式下执行命令WINsvnlog2excel.bat $SVNPATH, 即可在当前文件夹下生成指定SVN路径的LOG。 如WINsvnlog2excel.bat svn://192.168....

    TortoiseSVN日常操作指南

    4.4 修改文件 12 4.5 删除文件(delete) 13 4.6 恢复文件(Revert) 15 4.6.1 本地删除文件未执行commit操作 15 4.6.2 删除文件并已执行commit操作提交到服务器 16 4.7 更新文件(Update) 17 4.8 版本记录 20 4.9 ...

    SVN操作手册中文版网页格式

    4.26. 导出一个Subversion工作副本 4.26.1. 从版本控制里移除删除工作副本 4.27. 重新定位工作副本 4.28. 与 BUG 跟踪系统/问题跟踪集成 4.28.1. Adding Issue Numbers to Log Messages 4.28.1.1. Issue Number...

Global site tag (gtag.js) - Google Analytics