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

将源文件移动到新项目。。如何在新项目中保留旧提交版本的SVN历史记录,svn,netbeans,tortoisesvn,Svn,Netbeans,Tortoisesvn,我正在将源文件从netbeans中的web应用程序项目移动到netbeans中的新maven web应用程序项目。由于我的项目位于subversion存储库下,我需要将新创建的项目与存储库中旧项目的提交版本合并,以保持历史记录仍然有效。如何合并subversion存储库中的两个项目我从您的问题推断,您的旧项目(我们称之为项目A)受源代码管理,而您的新项目(项目B)不受源代码管理。如果确实如此,你有两个选择 正如您在后续评论中所建议的,将B作为a的子树导入。根据定义,您已经实现了维护a历史记录的

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

我从您的问题推断,您的旧项目(我们称之为项目A)受源代码管理,而您的新项目(项目B)不受源代码管理。如果确实如此,你有两个选择


正如您在后续评论中所建议的,将B作为a的子树导入。根据定义,您已经实现了维护a历史记录的目标(因为您没有更改a)。请注意,有两种主要的导入方法:一次导入和就地导入。您可以阅读《乌龟手册》中关于这两个方面的详细信息,但您可以从我放在一起的这个表开始,以说明它们的区别:

简而言之,一次性导入(通过
SVN>>import
完成)听起来像是一种节省时间的方法,但实际上它与导入(通过
SVN>>Add
完成)所需的步骤数相同,后者更灵活(由于表中的项目2),而且任务更复杂(项目3、4和5)



您的问题暗示的另一种可能性是,您希望在B的存储库中启动一个新项目(通过与上面相同的导入选项完成),然后将a的树移动到B下面。这是Windows资源管理器中的一个简单拖放操作。但是使用鼠标右键进行拖动,以便在目标上释放鼠标按钮时获得上下文菜单。然后在此处选择
SVN移动版本项目
选项。此操作实际上会生成一个删除操作和一个添加操作,如果您在源目录和目标目录共有的父目录上打开提交对话框,您将看到这一点。Subversion隐式地保留了对移动的了解:提交后,从新位置查看日志并取消选中底部标记为
stop on copy/rename
的框,您将看到完整的历史记录。

如果我只是将新项目导入到上一个项目的SVN repository文件夹下,是否可行?