【问题标题】:Output merge file representing modifications表示修改的输出合并文件
【发布时间】:2020-03-03 23:15:11
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: svn tortoisesvn


    【解决方案1】:

    我觉得这样可行:

    $ 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

    --dry-run: 试运行不做修改

    指定了两个源 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 或路径。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2011-03-07
      • 2012-06-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      相关资源
      最近更新 更多