场景:
- 程序员在版本 5 上为项目“foo”创建了一个名为“my_foo”的分支
- 程序员在处理“my_foo”功能时对多个文件进行了多次更改。
- 在每个主要步骤结束时,例如向类添加几个新函数,程序员会对相应的文件执行
svn commit
,从而将它们提交到分支 - 经过几周和多次提交(每次提交都有一个提交日志描述他所做的事情),程序员将分支合并回主干:
#Assume the following is being done from inside a working copy of the trunk:
svn merge -r 5:15 file:///path/to/repo/branches/my_foo
哈扎!他已将所有更改合并回主干!人们充满欢乐,喝着激浪。
现在假设另一位程序员一周后出现并将他们的工作副本从修订版 5 更新到修订版 15。“哇”,他们说。 “我想知道自修订版 5 以来发生了什么变化”。然后,程序员在他们的工作副本上执行 svn status
,他们会得到如下内容:
------------------------------------------------------------------------ r15 | programmer1 | 2010-03-20 21:27:04 -0400 (Sat, 20 Mar 2010) | 1 line Merging Version 2.0 Changes into trunk ------------------------------------------------------------------------ r5 | programmer2 | 2010-02-15 10:59:55 -0500 (Mon, 15 Feb 2010) | 1 line Added assets/images/tumblr_icon.png to trunk
其他程序员在其分支中的所有提交中添加的所有注释到底发生了什么?那些在并道过程中不会被拉过来吗?我是疯了还是只是忘记了什么?
最佳答案
尝试使用 svn log -g
来包含自 Subversion 1.5 以来存储的合并历史记录。
关于svn - 合并后分支上提交日志会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520522/