【问题标题】:Tools that automate merging of text files?自动合并文本文件的工具?
【发布时间】:2009-11-07 06:20:18
【问题描述】:

我遇到了麻烦,由于某种原因,SVN 只会将新生成的模板代码合并到已实现的代码(从而覆盖我所做的任何事情),而不是相反。

例如,

1) 我生成了一个名为 SomeFile.java 的文件。我将其提交给主干。我也将其分支到 feat1/SomeFile.java

2) 我在 feat1/SomeFile.java(分支)上工作。一旦一切正常,我只需提交到 feat1 分支,然后重新集成到主干。

3) 现在我需要再次重新生成代码(进行一些更改)。我之前所做的是将这个提交到主干,然后我尝试从 feat1 分支合并到主干。 但是出于某种原因,SVN 根本不会合并文件。

我做错了吗?

【问题讨论】:

    标签: svn text merge


    【解决方案1】:

    我认为重新整合不是你想要的。

    尝试正常的合并。在你的后备箱里:

    svn merge [url]/feat1
    

    【讨论】:

    • 哇..这很容易。谢谢。你能告诉我用 TortoiseSVN 做同样的事情吗?
    • 对不起,我是一个命令行 Mac 人。不知道 TortoiseSVN。合并而不指定修订(让系统跟踪已合并的内容)是 Subversion 的一个相当新的功能,因此在较旧的图形客户端中可能无法很好地支持它。由于乌龟是如此受欢迎,我认为有办法。
    【解决方案2】:

    我经常做自动合并。我所做的是非常低的技术。我生成差异的补丁文件,然后稍后应用它们。

    我使用 Windows 的各种修补工具。我注意到,windiff、tortoisesvn 和几乎任何差异工具都可以使用命令行选项应用补丁文件。

    (可能应该将此问题作为 superuser.com 帖子的副本关闭)

    【讨论】:

    • @Andrew,如果您愿意,可以查看我的更新,看看我是否做错了什么。
    【解决方案3】:

    我建议阅读 SVN 书中关于Branching and Merging 的章节。

    从您描述的步骤来看,在我看来,您正在从一个分支多次合并到主干,这可能不是一个好主意,或者(如您的情况)可能根本不起作用。

    在将分支重新整合到主干之前,您应该从主干合并到分支。这将确保主干和分支之间的唯一区别是您在分支中所做的更改。然后将分支中的更改重新集成到主干中。主干和分支现在应该处于相同的修订级别。

    在第 3 步中,听起来您对主干进行了更改,提交了这些更改,然后再次从分支合并到主干。来自分支的更改已经在步骤 2 中合并,因此 SVN 不会再次合并。

    【讨论】:

      猜你喜欢
      • 2012-03-06
      • 1970-01-01
      • 2011-01-09
      • 2011-10-20
      • 2020-01-05
      • 1970-01-01
      • 2017-12-11
      • 2014-05-18
      • 1970-01-01
      相关资源
      最近更新 更多