表示修改的输出合并文件

时间:2019-11-07 11:16:19

标签: svn tortoisesvn

我有一个svn,有时我会选择几个非顺序版本号,然后将它们合并到另一个分支中。

我想输出一个“统一的”合并文件输出,该输出可以供多人查看,但是实际上并没有进行合并,我也不想“还原”它。

我需要一个'cmd'类型的命令,例如'svn merge rev1,rev2> mergeOutput.txt'

,然后mergeOutput.txt应该以统一的方式包含更改,例如右键单击tortoisesvn中的修订,然后->“以统一的方式显示更改”。

这里的关键是我合并的修订不是连续的,因此“ svn补丁”将不起作用,因为“ svn补丁”仅接受不固定的修订。

1 个答案:

答案 0 :(得分:0)

我觉得这可行:

$ 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,您可以使用以下任何一种格式:

  1. svn diff OLD-URL [@OLDREV] NEW-URL [@NEWREV]
  2. svn diff OLD-URL [@OLDREV] NEW-PATH [@NEWREV]
  3. svn diff OLD-PATH [@OLDREV] NEW-URL [@NEWREV]

根据上述格式,svn diff中的SOURCE1和TARGET可以是URL或路径。