我发布过的最挑剔的问题:
myproject / tags / production始终包含myproject的生产就绪版本。我将顺序批准的版本从trunk合并到其中,其中N是当前的实时转速,而M是新的期望转速:
cd标签/制作
svn merge -r N:M ^ / trunk
svn ci -m'通过rxxxx合并主干到生产
我的问题是,为什么我总是要指定N?如果我只使用“-r M”,我会得到“svn:需要第二次修订”。但是N总是跟我以前的M一样,我认为合并跟踪的意义(我们运行svn 1.6)是为了让svn记住你已经合并的修订版。?
答案 0 :(得分:4)
我没有亲自尝试,但根据subversion文档,the merge
command is smart enough to include only not previously merged changes。
但如果您不想包含所有主干修订版,可以尝试:
svn merge -r 0:M ^/trunk
它应该合并尚未合并到工作副本中的更改直到修订版M 。
答案 1 :(得分:0)
理论上,Subversion可以做你想要的,并允许自动合并到指定的点。问题可能是“-r M”表示单个修订M,而合并是对一系列修订的操作。将单修订版本类型参数隐式转换为修订版范围参数听起来不是一个好主意。
如果没有手动指定修订版,Subversion应该可以合并跟踪。