使用Subversion时关于功能/任务分支的问题

时间:2014-03-14 06:03:34

标签: version-control svn branch

我遇到过一些消息来源,他们说,为不同的功能设置单独的分支比在trunk中实现功能更好。

我对这种方法的一个问题是,当将一个功能合并到主干时,我们将立即合并整个事物。如果我们这样做并注释文件以查看不同代码行背后的原因,我们会看到一条评论说"合并xyz功能"这不会很有帮助。

有没有办法克服这个问题?

2 个答案:

答案 0 :(得分:3)

如果您的问题是在使用SVN Blame(又名Annotate)时,它没有显示合并修订的所有提交注释的列表?

如果是这样,您需要在命令中添加-g fla g,或者如果使用TortoiseSVN,请选中“包含合并信息”。复选框。

答案 1 :(得分:2)

有些消息可以说,但也有消息来源说地球是平坦的。

分布式vcs中的任务分支是可行的,尽管在绝大多数情况下寻找问题的解决方案都是可行的。在前几代系统中,没有任何收获将是纯粹的痛苦。它不会做任何有用的事情;如果(当)你弄错了,就会造成混乱和不必要的返工。

在最糟糕的情况下,您的任务分支将成为隐形功能分支。然后你最终会保持几倍于你需要的代码量;每个其他团队成员都有自己的私有略有不同版本的公共库,代表正在进行的工作。这意味着每次合并都会破坏事物,因此合并的次数会减少,因此每个分支的分歧都会更多。

这可能是您可能需要做的事情,您可能需要承担的成本,如果您有多个客户有不兼容的需求,或者是曲折的法律限制。除非你是在为自己的团队做这件事,除了模糊的感觉之外没有任何理由这样做是正确的。