我有一个已移动的存储库,路径已重命名,然后截断了日志。所以我没有旧的道路。当我尝试做svn switch https://new.repo/new/path svn抱怨“无法替换内部的目录”。我该如何避免这种情况?
P.S。重建旧路不是一种选择。
答案 0 :(得分:2)
如果它仍然是相同的回购,并且它只是改变回购路径的路径,那么您应该将--relocate
选项传递给svn switch
。这有帮助吗?
即
svn switch --relocate https://new.repo/new/path
(警告:如果它不是同一个回购,那么使用--relocate
会破坏事情)
答案 1 :(得分:0)
从新位置结帐并将旧工作副本的内容复制到新的工作副本
答案 2 :(得分:0)
问题解决了。我创建了一个在所有.svn / entries中更改路径的脚本。一切正常。
答案 3 :(得分:0)
嗯,已经解决但
svn --relocate https://old.repo/old/path https://new.repo/new/path
应该很好地完成这个伎俩
答案 4 :(得分:0)
我遇到了同样的问题而无法使用" switch"或"切换 - 立即"。正如原始问题所述,我收到了错误"无法替换内部"与前者和后者相关"重新定位只能更改URL的存储库部分"
当我在CentOS上时,通过从我的工作目录的根目录运行以下命令,我能够使用sed手动更新.svn / entries文件中的url:
find . -type f -name entries -exec sed "s/old\/path/new\/path/" -i {} \;