有没有办法在 Subversion 1.6 中执行合并并保留分支历史记录?
trunk: r1 --> r2 --------------> r5
branch: \--> r3 --> r4 /
比如当我在r4合并时,历史记录将包含r3和r4?目前,Subversion会记录一个合并提交,其中包含r4和r2之间的差异。
保留分支历史记录意味着什么?如果想让 svn log
和 svn blame
能够查看合并信息,请使用选项 --use-merge-history
或 -g
。
即使您删除了分支,历史记录也将得以保留。如果您使用TortoiseSVN查看历史记录时,有一个名为“包括已合并的修订版本”的复选框。如果您勾选它,您将看到r3和r4在分支上时的日志条目。
逐个合并每个分支的修订版本。但是,你可能会像使用子版本控制分支的所有人一样陷入合并地狱。你的历史记录也会非常庞大。
如果没有冲突,这个过程可以在一定程度上自动化,通过巧妙的脚本编写。