我有多个svn存储库,我正在尝试将其合并为一个。
我做了几次svnadmin dump {old-repo} | svnadmin load --parent-dir {new-subfolder} {new-repo}
次运行来将它们全部组合起来。但有没有办法将工作副本指向新版本?
如果我执行svn switch --relocate {old-repo} {new-repo}
,我会收到错误:
svn:'{new-repo}'的存储库有uuid'70567957-ca9a-40a3-95c2-c7c7f5304040',但WC有'e7f76c56-4d0d-472c-a1f0-6eac23a5d238'
我不认为新的干净结账很容易。因为大多数WC都有一些本地更改(如DB凭据/用户映像)。甚至还有一个(必需的)缓存目录,其中包含数百万张图像缩略图,需要+/- 2天才能重新生成。
我可以强制svn忽略uuid,只接受新位置吗?
答案 0 :(得分:2)
在名为svn switch --relocate: wrong uuid?的新堆栈交换站点(Unix& Linux)中有一个答案,解释了如何设置新存储库的UUID。这会产生以下后果:
对不起,似乎没有完整的解决方案。
答案 1 :(得分:0)
您可以创建当前工作副本的补丁文件,然后重新签出并最终应用补丁。
创建补丁文件:
$> svn diff > ~/old_repo.patch
结帐:
$> svn co {new_repo}
应用补丁:
$> cd new_repo
$> patch -p0 -i ~/old_repo.patch