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

保持分支同步时出现问题

  •  3
  • KaptajnKold  · 技术社区  · 15 年前

    我创建了一个这样的分支

    svn copy svn+ssh://foo.bar/svn/myproject/trunk svn+ssh://foo.bar/svn/myproject/branches/feature-x
    

    然后我开始在另一个目录中签出我的分行的工作副本。

    因为这是一个功能分支,所以我希望它与主干保持同步。根据SVN的书,这应该简单到

    svn merge svn+ssh://foo.bar/svn/trunk
    

    从我的工作副本目录。

    但是它不起作用。我不知道它到底想做什么,但它似乎尝试合并所有曾经提交给主干的更改。相反,我希望它只尝试合并主干发生的更改。 之后 我做了树枝。

    如果我尝试

    svn propget svn:mergeinfo .
    

    从我的工作副本中,我什么也得不到。如果我理解正确,我应该看看哪些修订可以合并。

    我正在使用SVN v1.6.5

    作为一项工作,现在,我从写作开始

    svn info
    

    以获取最新更改的版本。然后

    svn merge -r xxxx:HEAD svn+ssh://foo.bar/svn/trunk .
    

    其中,XXXX是最新更改的版本。

    更新

    原来我们在办公室运行的是一个古老版本的SVN服务器,它不支持合并跟踪。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Wim Coenen    15 年前

    根据SVN的书,这应该简单到 svn merge svn+ssh://foo.bar/svn/trunk

    这是正确的。但是,本地SVN客户机和存储库都必须至少是1.5版才能支持合并跟踪。请参阅中的“合并跟踪和兼容性”部分。 release notes .

    如果我尝试 svn propget svn:mergeinfo . 从我的工作副本中,我什么也得不到。 如果我理解正确,我应该 查看有关哪些修订的内容 可用于合并。

    在这里,你的期望是不正确的。这个 svn:mergeinfo 属性记录 已合并到 . 它没有列出符合合并条件的修订。要列出符合合并条件的修订,请执行以下操作:

    svn mergeinfo --show-revs eligible svn+ssh://foo.bar/svn/trunk