【问题标题】:SVN 1.4 Merge, revisions not appearing in logSVN 1.4 合并,修订未出现在日志中
【发布时间】:2010-10-06 22:03:42
【问题描述】:

我使用的是 SVN 1.4.2,我在修订版 R 处分支,并在 R-HEAD 的修订版中合并,现在当我查看分支上的日志时,我只看到 R 之前的修订版,R 之间没有和头。是否有可能获得这些信息?

我使用的是基于 SVNClient 1.6.12 的 TortoiseSVN 1.6。我没有选中“仅记录合并(阻止修订被合并)”框。我尝试了“包含合并的修订版”,但这显然运行了一个在 SVN 1.5 之前不支持的 mergeinfo。

【问题讨论】:

  • 为什么要从 r 合并修订到 head 分支?在此之后分支和主干将是相同的,除非您在分支本身上执行某些操作。不过,提交应该在分支的日志中可见。你确实提交了合并,是吗?
  • 我确实对分支和合并操作之间的分支进行了更改。合并的提交是可见的,是的,但不是主干中构成该合并的各个修订。

标签: svn version-control merge


【解决方案1】:

SVN 1.4 没有合并跟踪。因此,它无法知道合并到分支的来源。如果它不知道合并来自哪里,它就无法知道从哪里获取该合并的日志消息。

唯一真正的解决方案是将您的服务器升级到 1.5 或更高版本。

如果您希望显示以前分支的日志,则需要重新创建分支并重新提交修订。

【讨论】:

  • +1 用于升级。这是最好的解决方案 - 它很简单,您可以获得很好的功能。 1.4 也将很快像 1.3 一样(不受)支持(即完全不支持)
  • 我在想,当我执行合并时,SVN 会足够智能,将修订列表也合并到我的工作副本中。但显然它不会打扰(见我的回答)。
  • 虽然如果我们要升级并进行合并,修订历史不会跟随,不是吗?
  • 修订历史不会成为合并的一部分,如果这就是您的意思。但是使用 TortoiseSVN 的“包括合并的修订”复选框将与合并修订的日志交错。但是,这不适用于服务器升级之前存储库中的任何内容。
  • 谢谢 Dingo,只是为了仔细检查一下,如果我升级,我必须重新进行合并,对吗?如果是这样,请纳入您的答案。
【解决方案2】:

看起来这实际上是一个功能。

分支应该是快速的分支,可以在不破坏主干的情况下构建一些功能。整个合并应该只包括一次真正的主干更改。对于主干开发而言,这些小的增量步骤不应该是重要的。

在我们的案例中,一个分支的创建和开发时间超过了一年。理想情况下,我们应该查看历史,但我们的分支方法违反了“正确”的做事方式,因此我们将失去历史。有一些方法可以解决这个问题,但在我们的案例中,用另一个 hack 修复一个 hack 比失去一些历史和吸取教训更糟糕。

如果有人有办法一起破解这个,请分享!

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-07
    • 2018-07-16
    • 1970-01-01
    • 2013-04-12
    • 2017-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多