【问题标题】:Redefine location of branches, tags, and trunk when using hgsubversion使用 hgsubversion 时重新定义分支、标签和主干的位置
【发布时间】:2013-01-11 05:01:09
【问题描述】:

我正在尝试使用 hgsubversion 将相当大的 Subversion 存储库转换为 Mercurial。除了没有捕获分支和标签并且最终的 Mercurial 存储库看起来像这样之外,我几乎让它工作了:

Repo
   > Trunk
       > Code
       > Database
       > Documentation

我正在运行的命令是:

hg clone --startrev 5802 --config hgsubversion.authormap=authors.txt --config hgsubversion.defaulthost=me.com file:///C:/Users/me/projects/MyProjectRepo MyProjectRepo-hgsvn5802

我的 Subversion 存储库实际上是文件系统上的一个镜像和更新的本地镜像。这样做是因为直接访问 URL 时运行 hgsubversion 或 convert 速度非常慢。存储库的结构是这样的(注意大写的首字母)

Repo
   > Branches
   > Tags
   > Trunk
       > Code
       > Database
       > Documentation

关于我可能做错了什么有什么想法吗?大写名称是否会导致自动分支检测失败?我可以覆盖 hgsubversion 查找主干、标签和分支的位置吗?

【问题讨论】:

    标签: svn mercurial hgsubversion


    【解决方案1】:

    大写字母绝对是这里的问题。最简单的选择可能是编辑 hgsubversion 源代码,以便它查找大写名称,但我实际上欢迎一个补丁来使 trunk/tags/branches 名称可配置。

    我可以发誓我们有这个功能,但我没有在代码中看到它,所以我可能只是记得过去的提议。

    【讨论】:

      【解决方案2】:

      我自己没有尝试过这些,但hgsubversion documentation 描述了一种配置自定义 Subversion 结构的方法。

      hgsubversion.layout

      设置存储库的布局。 标准 采用正常的主干/分支/标签布局。 single 表示将整个存储库转换为单个分支。默认值 auto 会导致 hgsubversion 在服务器上的指定目录中存在任何主干、分支或标签时采用标准布局。 custom 导致 hgsubversion 读取 hgsubversionbranch 配置部分以确定存储库布局。

      同时查看文档的hgsubversionbranch.*hgsubversion.tagpathshgsubversion.branchdir 部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-09-14
        • 1970-01-01
        • 2012-10-19
        • 2011-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多