Svn Subversion合并信息,它有多重要?
我有点好奇Subversion中的合并信息是如何使用的,如果合并信息不正确,会遇到什么样的问题 例如,我从Svn Subversion合并信息,它有多重要?,svn,svn-merge,Svn,Svn Merge,我有点好奇Subversion中的合并信息是如何使用的,如果合并信息不正确,会遇到什么样的问题 例如,我从trunk分支了branch1和branch2。我还有一个subbranch1和一个subbranch2源于branch1。考虑我在代码< BrnCH2中做了一些开发,然后使用 Svn合并重新集成到主干中——重新集成^ /分支2。然后,我想将这些更改也添加到subbranch1(从trunk)中,并错误地使用了命令,svn merge--reintegrate^/trunk(从而将--rei
trunk
分支了branch1
和branch2
。我还有一个subbranch1
和一个subbranch2
源于branch1
。考虑我在代码< BrnCH2中做了一些开发,然后使用<代码> Svn合并重新集成到主干中——重新集成^ /分支2。然后,我想将这些更改也添加到subbranch1
(从trunk
)中,并错误地使用了命令,svn merge--reintegrate^/trunk
(从而将--reintegrate
标记添加到merge命令中,即使subbranch1
不是trunk
的直接祖先)
这会在将来导致什么问题?合并信息跟踪此信息:
- 分支之间的关系(
源自subbranch1
,后者源自branch1
,等等)trunk
- 哪些修订已经合并
如果合并信息丢失或不正确,则必须手动跟踪合并,这可能容易出错。通过使用合并信息,您只需让Subversion跟踪所有这些信息。此答案已被弃用。请使用Subversion>=1.6。
一般来说,分支方法是危险的,但由于事故,情况更糟 在重新渲染所有分支时,您会遇到很多问题
- branch2所做的更改可能看起来像是对subversion的删除
- 您所做的删除可能看起来像是对subversion的添加
- 三向比较可能会产生奇怪的结果(例如,将同一段代码放入文件中两次)
顺便说一句,我有一次不得不解决这样的问题。从那时起,我们就开始使用bunny hopping(参见链接)。关于这篇博文,我认为bunny hopping是没有必要的,因为SVN 1.5会为您跟踪此类内容。SVN 1.5修复了一些问题,但是如果您进行大量合并和分支,您将遇到麻烦。bunny hop不是必需的。这是一个解决不良SVN实践的方法。如果要对主干和分支进行大量更改,为什么人们希望合并很简单?(尤其是在相同的代码上!)@exception:不,这不是必需的,而且您是对的,它是错误使用的解决方法。但是兔子跳跃为那些成员并不真正理解分支的大型团队工作。这只是一个务实的解决方案。这个问题有一个很好的例子,就是有时会发生错误,事后很难解决。希望人们最终会使用Subversion>=1.6…由于公司标准,我们有许多工作分支并使用SVN。我可以根据我们团队的经验确认,这种分支方法使SVN的使用变得非常简单。