74

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

4

4 回答 4

65

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

svn diff -c N path

N提交号在哪里,并且path是您的工作副本的路径。

于 2013-02-22T19:27:18.723 回答
50

或者,当使用 windows + tortoiseSVN 时:转到您的源代码目录,右键单击该目录(打开 tortoise 上下文菜单)并选择“显示日志”,选择两个修订版(ctrl-click),然后右键单击并选择“从上下文菜单中将差异显示为统一差异”。将弹出一个窗口显示差异,然后您可以将其保存为补丁。

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

于 2015-07-06T09:37:17.343 回答
47

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

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

另请参阅https://stackoverflow.com/a/25283101/1127583

于 2014-08-13T09:57:14.610 回答
2

虽然已经回答了简单的版本如下,

1, Source Code Location > Tortoize SVN > show log 
2, Select the revision which has your commit
3, Right Click > select > Show changes as unified diff
4, Pop up with differences of all files in that commit come
5, Copy the entire content and create a new file with the extension of .patch

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

于 2020-05-14T18:46:42.880 回答