合并 SVN 存储库

发布于 2024-12-07 13:13:54 字数 529 浏览 0 评论 0原文

我有多个 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 都有一些本地更改(例如数据库凭据/用户图像)。甚至有一个(必需的)缓存目录,其中包含数百万个图像缩略图,需要 +/- 2 天才能重新生成。

我可以强制 svn 忽略 uuid,只接受新位置吗?

I have multiple svn repositories, that i'm trying to combine to one.

I did a couple of svnadmin dump {old-repo} | svnadmin load --parent-dir {new-subfolder} {new-repo} runs to combine them all. However is there a way to point the working copies to the new revision?

If I do a svn switch --relocate {old-repo} {new-repo} I get get the error:

svn: The repository at '{new-repo}' has uuid '70567957-ca9a-40a3-95c2-c7c7f5304040', but the WC has 'e7f76c56-4d0d-472c-a1f0-6eac23a5d238'

I don't think it is easy to an new clean checkout. Because most of the WC have some local changes (like DB credentials / user images). And one even has a (required) cache dir with millions image thumbnails, which take +/- 2 days to regenerate.

Can I force svn to ignore the uuid, and just accept the new location?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

打小就很酷 2024-12-14 13:13:54

在一个新的堆栈交换站点(Unix & Linux)中有一个答案,标题为 svn switch - -relocate:错误的uuid?解释了如何设置新存储库的UUID。这会产生以下后果:

  • 您可能只设置 1 个 UUID,但您有 n 个旧存储库。您必须决定使用哪一个,对于这个,更改 UUID 可能会起作用。
  • 所有其他人都必须重新结帐。

抱歉,似乎没有完整的解决方案。

There is an answer in a new stack exchange site (Unix & Linux) titled svn switch --relocate: wrong uuid? that explains how to set the UUID of the new repository. That has the following consequences:

  • You may only set 1 UUID, but you have n old repositories. You have to decide which one to use, and for this one, the change of UUID may work.
  • All other will have to a new checkout.

Sorry, no complete solution, it seems.

神爱温柔 2024-12-14 13:13:54

您可以创建当前工作副本的补丁文件,然后重新签出并最终应用补丁。

创建补丁文件:

gt; svn diff > ~/old_repo.patch

签出:

gt; svn co {new_repo}

应用补丁:

gt; cd new_repo
gt; patch -p0 -i ~/old_repo.patch

You can create patch files of your current working copies, then re-checkout and finally apply the patches.

Create patch file:

gt; svn diff > ~/old_repo.patch

Checkout:

gt; svn co {new_repo}

Apply patch:

gt; cd new_repo
gt; patch -p0 -i ~/old_repo.patch
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文