0

这是来自Sync svn and mercurial repo的后续问题

该解决方案效果很好,但是我们想要做的是通过将许多特定文件夹克隆到一个 mercurial repo 来分解一棵树,因此我们将命令修改为

hg 克隆https://username@serverAddress/svn/MainRepo/SubFolder/Folder/ --insecure

这给了我们一个

错误:[SSL: UNKNOWN_PROTOCOL] 未知协议 (_ssl.c:661)

有什么帮助吗?

谢谢阅读

4

1 回答 1

1

Mercurial 的设计与部分结账不兼容。我没有看过hgsubversion内部结构,但我希望支持部分结帐既不容易,也不是优先实施。另请注意,官方hgsubversion wiki声明:

现在,您只能克隆使用或多或少标准 Subversion 布局的存储库。也就是说,完成工作的默认位置称为trunk,分支位于该目录的同级目录中,称为branches. trunk标签应该是被调用的另一个兄弟tags,但这是可配置的。

这再次表明克隆子目录可能会违反这些假设,因为子目录没有trunkbranches子文件夹。

作为一种解决方法,请考虑进行完整的结帐,然后将其拆分为子存储库(保留历史记录),如本问题所示。如果您想继续与 svn 进行双向同步,这将需要您分两步完成,首先将子存储库中的所有更改导入 hg 镜像,然后将它们推送到 svn。

于 2017-03-13T15:18:20.147 回答