我们最近迁移了一个我们的subversion存储库,这些存储库的结构使得它只能包含一个项目(即主干等位于根目录下),因此可以在一个存储库中控制多个项目。我们在调用--parent-dir
时使用svnadmin load
选项将所有文件从存储库移动到不同存储库的子目录中。当然,UUID不再与旧的存储库相同,因为它实际上是一个新的存储库。
所以最初项目主干的存储库URL看起来像这样:
http://subversion/repo/trunk
现在是这样的:
http://subversion/repo/project/trunk
现在我需要迁移我的本地工作副本trunk。我知道我可以从项目文件夹中进行一次点击和重新检查,但这是一个非常大的存储库,这样做是相当昂贵的时间和磁盘空间明智。
有没有办法告诉svn relocate
不仅要忽略祖先,还要忽略存储库UUID也发生变化的事实?
也许有办法手动更新.svn文件夹中的元数据以指向正确的repo URL?也许有办法只检查.svn文件夹中的元数据并将其交换出我的本地工作副本?
答案 0 :(得分:1)
--force-uuid
| --ignore-uuid
,以便从父存储库继承至少一个 UUID svnadmin setuuid
来更改现有存储库的UUID 这是一种只检查.svn文件夹中的元数据的方法
是
您可以使用http://subversion/repo/project/trunk
将新网址--depth 'empty'
签入新的工作副本,获取包含.svn
文件夹的空WC,复制旧移动WC的所有内容({{1除外)带有旧元数据的文件夹)并使用.svn
将WC与存储库同步(超过旧的结帐深度以备将来操作)