SVN是否从承诺代码创建补丁?

时间:2013-02-22 19:24:00

标签: svn diff

是否可以为提交后提交期间受影响的所有文件创建补丁(diff文件)?这些文件的版本号相同,我需要先前版本中每个文件的差异。

4 个答案:

答案 0 :(得分:59)

如果您知道提交号码,请使用

svn diff -c N path

N是提交编号,path是工作副本的路径。

答案 1 :(得分:45)

如果您知道修订号(例如123和124),您可以使用:

svn diff -r123:124 path/to/my_project_folder > ~/my_project_changes_123_124.patch

另见https://stackoverflow.com/a/25283101/1127583

答案 2 :(得分:37)

替代方案,当使用windows + tortoiseSVN时:转到源代码目录,右键单击目录(打开乌龟上下文菜单)并选择“显示日志”,选择两个修订(按住Ctrl键单击)然后单击鼠标右键并从上下文菜单中选择“将差异显示为统一差异”。 将弹出一个窗口显示差异,然后您可以将其另存为补丁。

更新:按住Shift键,当点击“将差异显示为统一差异”时会弹出一个对话框,您可以在其中选择差异选项(忽略eol更改,忽略空格更改,忽略所有空格)。如果例如这是有用的。版本之间的行结尾发生了变化(否则整个文件将显示为“已更改”)

答案 3 :(得分:1)

尽管已经回答的简单版本如下,

{{1}}

我从下面的链接https://groups.google.com/forum/#!topic/tortoisesvn/xV-hemaFdFU引荐