gpt4 book ai didi

svn - 使用 svnsync & hg convert 将 SVN 同步到 Mercurial——未命中 svn :externals?

转载 作者:行者123 更新时间:2023-12-02 00:36:49 26 4
gpt4 key购买 nike

我已经创建了一个 SVN 存储库的 Mercurial 镜像(使用本教程:http://oreilly.com/opensource/excerpts/opensource-mercurial/migrating-to-mercurial.html)。同步效果很好,除了我注意到它没有获取在主 SVN 存储库中引用的外部存储库...

理想情况下,我希望能够将所有内容作为一个单一的 repo 拉入 Mercurial(如果可能,连同变更集)。

我不确定的是:丢失的外部是 svnsync 的限制,还是 hg convert 的限制?

有什么方法可以强制将外部同步到同一个 Mercurial 存储库中吗?


我认为一个好的解决方案是为外部重新设置同步过程。创建当前 hg 镜像的分支,并将外部同步到 hg 镜像分支。

要注意的是,外部的主干旨在进入第一个镜像的子文件夹,那么我如何使用转换复制它?我怀疑我能告诉 convert 导入到子文件夹中...

最佳答案

is the missing external a limitation of svnsync or a limitation of hg convert?

svnsync 用于创建 SVN 存储库的镜像。这包括任何 svn:externals特性。因此它一定是 hg convert 的限制。

请注意,您实际上并不需要使用svnsync 创建镜像。这篇文章推荐这样做只是因为拥有本地副本可能会加快转换过程。

Is there any way I can force the external to be synced as well, into the same Mercurial repo?

SVN 存储库通常包含多个松散相关的项目,每个项目都有自己的分支和标签。但 Mercurial 不是这样工作的:当你分支时,你分支了存储库中的所有内容。您应该为 SVN 中的每个项目创建一个单独的 Mercurial 存储库,该项目有自己的主干/分支/标签。这种不同的方法很可能是 hg convert 忽略外部的原因,即使它们在同一个 SVN 存储库中也是如此。

在mercurial中有一个等价于svn:externals的;它被称为“子存储库”。您没有一个或多个 svn:externals 属性,而是在项目的根目录中有一个包含类似内容的 .hgsub 文件。您应该首先将每个 SVN 项目转换为单独的 mercurial 存储库,然后将它们与子存储库连接。查看mercurial wiki page for subrepositories了解更多详情。

关于svn - 使用 svnsync & hg convert 将 SVN 同步到 Mercurial——未命中 svn :externals?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4258518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com