代码之家  ›  专栏  ›  技术社区  ›  DEfusion

SVN在两个分支上添加文件时如何解决新树冲突

  •  94
  • DEfusion  · 技术社区  · 15 年前

          C foo.txt
      >   local obstruction, incoming add upon merge
    

    我需要来自两个分支的更改,但是树冲突没有给我通常的.working、.merge left&。合并正确的文件——由于冲突的性质,这是可以理解的。其中有很多冲突,每个分支上都发生了相同文件的删除,但解决起来很简单。

    4 回复  |  直到 15 年前
        1
  •  165
  •   MarmiK hirra    10 年前

    我找到了一个 post suggesting a solution for that . 它即将运行:

    svn resolve --accept working <YourPath>
    

    这将声明本地版本文件为OK。
    您可以对单个文件或整个项目目录运行它。

        2
  •  40
  •   Community Paul Sweatte    4 年前

    "Tree Conflict" design

    添加到版本控制文件的合并导致的XFAIL冲突

    此测试执行一个合并,其中 将没有历史记录的文件添加到 现有版本文件
    这应该是“”文件上的树冲突 local obstruction, incoming add upon merge “多样性。修正了r35341中的预期。


    一个文件在两个不同的分支中创建两次(此处“添加”两次),为两个不同的元素创建两个不同的历史记录,但名称相同。

    B2 '.

    B1 ,合并回 地下二层 地下一层 以使该文件在上可见 地下一层 (然后您将在同一元素上工作)。
    如果由于合并只发生在以下位置而无法进行回合并: ,则需要对每个 B1->B2 合并。

        3
  •  9
  •   Gabriel F. T. Gomes    13 年前

    如果传入的更改是您想要的,该怎么办?我无法运行svn resolve--完全接受他们的解决方案

    svn解析--接受基

        4
  •  3
  •   dewtell    13 年前

    合并与新文件存在树冲突,我希望新版本来自不同的主干,因此从branch2的干净副本开始,我对冲突文件执行svn删除,提交这些branch2更改(从而创建一个没有相关文件的branch2临时版本),然后从主干进行合并。我这样做是因为我希望历史记录与主干版本相匹配,这样以后在尝试合并回主干时就不会有更多问题。合并进行得很顺利,我得到了文件的主干版本,svn st显示一切正常,然后我在尝试提交更改时遇到了更多的树冲突,在我之前所做的删除和合并中的添加之间。svn为我的工作副本(现在有文件的主干版本)解决了冲突,并将其提交。一切都应该很好,对吗?

    没有。branch2的另一个副本的更新导致了文件的旧版本(主干合并前)。所以现在我有两个branch2的不同工作副本,应该更新到相同的版本,有两个不同版本的文件,并且都坚持它们是完全最新的!签出branch2的干净副本会导致文件的旧版本(主干前)。我手动将它们更新到主干版本并提交更改,返回到我的第一个工作副本(我最初从中提交了主干更改),尝试更新它,现在在有问题的文件上出现校验和错误。把有问题的目录吹走,通过更新得到一个新版本,最后我得到了branch2的一个好版本,并对主干进行了更改。我希望如此。警告开发者。