似乎SVN的“补丁”功能并不是我想要的。我真正想要的是在修订版之间创建文件差异。因此,我选择rev1和rev 2,最后得到一个文件夹,其中包含在这些修订版本之间更改或添加的所有文件。
可以用Tortoise SVN或普通的svn吗?
答案 0 :(得分:28)
从命令行可以执行以下操作。
在您的主文件夹中创建一个补丁,其中包含文件夹中所有已更改文件的修订版123和124之间的所有更改" my_project":
svn diff -r123:124 path/to/my_project > ~/my_project_changes_123_124.patch
在您的主文件夹中创建一个补丁,其中包含仅来自一个文件的修订版123和124之间的所有更改,名称" my_project.php":
svn diff -r123:124 path/to/my_project/my_project.php > ~/my_project_changes_123_124.patch
答案 1 :(得分:25)
这可以在陆龟SVN本身中实现。右键单击要创建补丁的分支(文件夹)>> Show Log
>>选择您需要为其创建补丁的所有修订>>右键单击并选择Compare revisions
>>这将显示已更改的文件>>选择所有文件>>右键单击并选择Export Revision To
>>在您的机器中提供任何路径>>这些文件将以相应的文件夹结构导出。
或者,您可以通过脚本实现此目的。请参阅以下链接:
http://www.electrictoolbox.com/subversion-export-changed-files-cli
答案 2 :(得分:2)
svn diff
怎么样?只需通过所需的修订即可。
http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.diff.html
在TortoiseSVN中,如果您在" show log"中突出显示您想要的修订版本。对话框,甚至还有一个上下文菜单项,可以将更改显示为差异,然后您可以将其保存在某处。