假设我的SVN中有A:/ A_Project / trunk / A和B:/ B_Project / trunk / B.我想将A与B合并并将其存储在B中。我在TortoiseSVN GUI中使用了“合并两个不同的树”选项。一切都很好,除了最终版本没有A树的更改日志!
问题是:如何合并两个不同的树并在最终版本中保留两个树的日志?
感谢您的帮助!
答案 0 :(得分:5)
老实说,我的猜测是Tortoise只是创建分支B的工作副本,从树A插入代码,并且合并就好像只是一个大规模的编码练习。
我不认为SVN本身支持项目之间的合并,因为修订号(以及附加的提交日志)会发生明显的冲突,因为两个项目都有修订1..n。
所以我不知道你的目标是否可行。
有关使用命令行界面进行合并的详细信息,请参阅Subversion圣经:
答案 1 :(得分:0)
由于您进行了合并(树或文件,无关紧要),因此A的历史记录无法查看。但是,如果您与支持1.5.x或更高版本的Subversion客户端合并并在svn:merge-info属性中签入,则可以查看A的历史记录。在命令行中使用svn log命令和-g选项,您可以看到文件或树的历史记录,包括多次合并的路径。
这也可以用TortoiseSVN完成。请参阅TortoiseSVN 1.5.x版本中的this release note,了解如何使用常规历史记录查看合并历史记录。
答案 2 :(得分:0)
Subversion不支持将两棵树合并到一个保留合并双方历史记录的修订版中。
这是Subversion模型与其他一些版本控制系统(如Mercurial或Git)之间的一个非常基本的区别。
Subversion的现代版本可以使用mergeinfo属性来模拟它,但它本身并不是内置的。