我有一个存储库被移动,路径被重命名,然后日志被截断。所以我没有老路。当我尝试做svn切换https://new.repo/new/path svn抱怨“无法从内部替换目录”。我如何避免这种情况?SVN:从不存在的路径切换?
P.S.重新创建旧路不是一种选择。从新位置
我有一个存储库被移动,路径被重命名,然后日志被截断。所以我没有老路。当我尝试做svn切换https://new.repo/new/path svn抱怨“无法从内部替换目录”。我如何避免这种情况?SVN:从不存在的路径切换?
P.S.重新创建旧路不是一种选择。从新位置
如果它仍然是相同的回购,而这只是路径回购所更改,那么你应该传递--relocate
选项为svn switch
。这有帮助吗?
即
svn switch --relocate https://new.repo/new/path
(警告:如果它是不一样的回购,然后使用--relocate
将打破东西)
1.其不同的回购。 2.移居说:“SVN:重新定位只能改变URL中的版本库部分” – Daniel
没有办法切换到完全不同的回购。你的意思是它曾经是相同的回购协议,但它在新版本中有所改变?如果是这样,那么你应该首先重新定位到//new.repo/old/path,然后切换到//new.repo/new/path。如果它是完全不同的回购,那么你必须从头开始检查它。 – Dialecticus
问题得到解决。我创建了一个在所有.svn /条目中更改路径的脚本。一切正常。
嗯,已经解决,但
svn --relocate https://old.repo/old/path https://new.repo/new/path
应该做的伎俩很好
我有同样的问题,并没有能够得到它与任一“开关”工作或“切换--relocate ”。正如原来的问题所述,我得到了错误“不能从内部替换目录”与前者和后者“重定位只能更改URL的存储库部分”
因为我在CentOS上,所以能够通过从我的工作目录的根目录运行以下命令,使用sed手动更新.svn/entries文件中的网址:
find . -type f -name entries -exec sed "s/old\/path/new\/path/" -i {} \;
几乎和我一样:) – Daniel
截断日志意味着什么? – Dialecticus
这是否解决了这个问题:http://stackoverflow.com/q/115281/395718 – Dialecticus