这似乎很简单,但我没有找到答案的运气。我的项目具有以下结构:
trunk
src
Doc
lib
external-lib1
external-lib2
当然external-lib1
和external-lib2
是外部svn repos。我想转换它,以便主repo具有完全相同的文件结构,但lib目录包含常规目录。如果保留外部寒冷的历史,那将是很好的,但这不是必需的。结果应如下所示:
trunk
src
Doc
lib
lib1
lib2
答案 0 :(得分:0)
进行此更改的唯一方法是手动创建lib-1,lib-2目录,并为已链接的每个外部svn存储库创建svn checkout http://link/to/external/library lib-n
(没有{{1}类似的命令)。仅当您能够访问外部存储库时,此方法才有效。最后,您可以取消外部链接。
另一种可能的方法是转储存储库(它保留存储库的历史记录)并加载到存储库中。
我认为第一种方式很简单......
希望有所帮助
答案 1 :(得分:0)
假设您使用的是 Windows,这是一种不保留外部历史记录的解决方案:
svn checkout https://<repo>/trunk/lib lib
cd lib
svn propdel svn:externals .
svn commit -m "Removing svn:externals property"
rmdir /s /q lib1\.svn
rmdir /s /q lib2\.svn
svn add * --force
svn commit -m "Adding converted externals"