【问题标题】:Problem keeping branch in sync保持分支同步的问题
【发布时间】:2010-01-13 09:45:25
【问题描述】:

我已经创建了一个这样的分支

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

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

由于这是一个功能分支,我希望它与主干保持同步。根据 The SVN Book,这应该很简单

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 服务器,它不支持合并跟踪。

【问题讨论】:

    标签: svn merge


    【解决方案1】:

    根据 The SVN Book,这应该很简单 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
    

    【讨论】:

      猜你喜欢
      • 2013-11-14
      • 1970-01-01
      • 2016-06-19
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 2013-05-11
      相关资源
      最近更新 更多