我在这里看到一个大量回答的问题,关于如何使用历史记录迁移存储库,但我有一个项目没有历史记录(新开发,尚未部署,所有内容)在TRUNK)。更重要的是,SVN管理员不会使用更高级别的命令(我怀疑,这些命令会用于迁移历史记录)来移动项目,而且我没有权限。
所以我想做的或多或少是将代码复制出repo_1子目录TRUNK而不进行任何签出,并将代码放入新的空repo_2子目录TRUNK。
实现这一目标的最佳方法是什么?
========================
尽管下面的评论得到了推荐,但下面的第一条评论提出了这种非命令行开发人员最简单的解决方案。这就是我所做的。
答案 0 :(得分:4)
三种方法:
使用svn.exe
客户端:
svn export <url-to-old-repo>
,svn import <url-to-new-repo>
。在服务器端使用svnadmin dump
和svnadmin load
(需要对文件系统上的存储库具有完全读取权限):
svnadmin dump path-to-original-repository -r HEAD > MyDump.svndump
svnadmin create NEWREPOSITORYNAME
svnadmin load NEWREPOSITORYNAME < MyDump.svndump
您可能希望使用--parent-dir DIR
参数和svnadmin load
命令将转储加载到除新存储库的/ root之外的其他路径。
使用svnrdump
工具(Subversion 1.7+中提供)。该工具&#34;模仿&#34;
svnadmin dump
和svnadmin load
功能,但远程操作。您不需要对原始目标存储库和目标存储库具有读/写文件系统访问权限,因为工具可以像Subversion客户端一样远程操作,例如,通过HTTPS协议。因此,您需要具有对原始存储库的读取访问权限以及对目标存储库的读取/写入权。
答案 1 :(得分:0)
find . -name '.svn' | xargs rm -rf