技术开发 频道

版本控制系统(VCS)入门插图教程

    Merge

    如果你要将一个branch中的变动,并入另一个branch,这可不太简单。

    比如,我们要将Rice这个词从一个branch,并入主线中的文件。我们应该怎么做?Diff一下r6和r7,然后再并入主线?

    错了。我们只需要找到branch所做的变动就可以了。也就是说,我们只要diff一下r5和r6,然后再应用到trunk上就可以了。

    如果我们diff了r6和r7,我们就会漏掉“Bread”这个已经在主干中的词。这是很微妙的一个地方,branch中的变动在于Rice这个词(+Rice),只要将这个词加入主干就可以了。主干文件中也许还有其他变化,不过这不要紧,我们所要的只是插入Rice这个特性。

    在Subversion中,merge命令与diff很类似。在一个主干中,运行下面的命令:

    svn merge -r5:6 http://path/to/branch

    这个命令diff了r5和r6,然后将其加入当前位置的文件中。不幸的是,Subversion没有提供一种容易的途径,追踪merge中到底有什么变动。所以如果你不小心的话,你可能将同样的变动应用两次。SVN已经计划提供这个功能,但是目前的建议还是,保留一份changelog message,提醒你r5-r6已经并入了主干。

0
相关文章