我有一个svn,有时我会选择几个非顺序修订版编号,然后将它们合并到另一个分支中。
我想输出一个'统一的'合并文件输出,可以由多个人查看,但实际上并没有进行合并,我也不想'还原'它。
我需要一个'cmd'类型的命令,例如'svn merge rev1,rev2> mergeOutput.txt'
然后,mergeOutput.txt应该以统一的方式包含更改,例如右键单击tortoisesvn中的修订,然后->'以统一的方式显示更改'。
这里的关键是我合并的修订不是连续的,因此'svn补丁'将不起作用,因为'svn补丁'仅接受固定修订。
我觉得这可行:
$ cd TARGET_WCPATH
$ pwd
TARGET_WCPATH
$ svn merge --dry-run SOURCE1@REV1 SOURCE2@REV2 | svn diff SOURCE1@REV1 TARGET@HEAD > mergeOutput.txt
来自svn help merge
:
-干运行:尝试操作,但不做任何更改
指定了两个源URL,标识了同一棵树上的两棵树分支或在不同分支上。比较树木和从SOURCE1 @ REV1到SOURCE2 @ REV2的差异适用于工作目标分支在TARGET_WCPATH的副本。目标分支可能是与一个或两个来源相同,或再次不同。他们三个涉及的分支可以完全不相关。
TARGET_WCPATH是工作副本路径;如果省略,则为“。”通常假设。
SOURCE1和/或SOURCE2也可以指定为工作副本路径,在这种情况下,合并源URL源自工作副本。
对于svn diff
,您可以使用以下任何一种格式:
其中svn diff中的SOURCE1和TARGET可以是URL或根据上述格式的路径。