将源文件移动到新项目..如何在新项目中保留旧提交版本的SVN历史记录

时间:2011-09-27 05:41:44

标签: svn netbeans tortoisesvn

我正在将源文件从netbeans中的Web应用程序项目移动到netbeans中的新maven Web应用程序项目。由于我的项目是在subversion存储库下,我需要将我新创建的项目与存储库中旧项目的已提交版本合并,以便保持历史记录仍然存在。如何合并subversion存储库中的两个项目

1 个答案:

答案 0 :(得分:2)

我从你的问题推断出你的旧项目(我们称之为项目A)是在源代码管理下,而你的新项目(项目B)则不是。如果情况确实如此,那么您有几个选择。


正如您在后续评论中所建议的那样,将B导入为A的子树。根据定义,您已达到维护A历史的目标(因为您没有更改A)。请注意,执行此导入有两种主要方法:一次性导入一次导入。您可以在Tortoise手册here中阅读有关这两者的详细信息,但您可以从我放在一起说明差异的表开始:

Comparison of one-shot import vs. import-in-place

简而言之,一次性导入(通过SVN >> Import完成)听起来像节省时间,但实际上它需要与就地导入相同的步骤(通过{{1}完成) })后者更灵活(由于表中的第2项),更多的是任务(第3,4和5项)。


你的问题暗示的另一种可能性是你想在B的存储库中启动一个新项目(通过与上面相同的导入选项完成),然后你想在A下面移动A树。这很简单Windows资源管理器中的拖放操作。但是,使用鼠标右键拖动,以便在目标上释放鼠标按钮时获得上下文菜单。然后选择SVN >> Add选项。此操作实际上会产生删除操作和添加操作,因为您将看到是否随后在源目标和目标目录的父共享上打开提交对话框。 Subversion隐含地保留了对移动的了解:在您提交从新位置查看日志并取消选中标有SVN Move versioned item(s) here的底部的框后,您将看到完整的历史记录。