从SVN中提取修改后的文件

时间:2009-12-09 15:10:19

标签: svn

任何人都知道是否有办法从SVN存储库中提取两次提交之间的修改过的文件?

获取目录结构也很有用..

我需要提取自最近一次提交以来我修改过的文件并将它们发送到客户端..我已经手动完成了这个,直到现在,但随着文件数量的增加,它开始非常耗时(我想是假的)。

我使用的是Cornerstone GUI,但显然它可以从命令行中运行..或者可能有一个GUI在Mac上执行此操作?

谢谢!

5 个答案:

答案 0 :(得分:7)

如果客户对使用patch感到满意,最简单的方法是使用svn diff。如果要发送给客户的修订版是r26,请键入

svn diff -c 26 > changes.diff

要发送修订版26-35中的所有更改,请使用

svn diff -r 26:35 > changes.diff

这些文件都会创建一个文件changes.diff,您可以将其发送给您的客户,然后客户将该文件复制到其代码副本的根目录并运行

patch -p1 < changes.diff

此方法还会为您处理目录结构。

这确实有另外的缺点,即新的/删除的文件不会被修补,二进制文件也不会。据我所知,没有简洁的自动化方法。

答案 1 :(得分:4)

Eclipse的颠覆性插件具有Extract功能,它完全符合您的要求。

答案 2 :(得分:1)

为什么不在客户端上使用'svn update'?

这实现了检索已更改文件的二进制差异(确切地说是您要求的信息)并将其应用于您的工作副本:)

答案 3 :(得分:1)

我正在使用shell script从SVN Log获取文件列表,然后逐个导出。我还在寻找直接使用SVN客户端的另一个选项。

答案 4 :(得分:0)

我没有一个简单的解决方案,但你可能会看一下颠覆书第4章Copying Changes Between Branches - Chapter 4. Branching and Merging。还有一些关于变更集的讨论。

相关问题