如何在GIT中镜像SVN没有中继

时间:2015-04-02 10:08:43

标签: git svn version-control subgit

我们正在使用 Stash (3.8.0)和 SVN Mirror for Atlassian Stash (2.0.15)插件,这两个插件都获得了50多个席位的许可。但是,我们正尝试将SVN镜像到Stash中的空存储库。以下内容阻止我们前进。

我们的SVN链接是svn://svn.hostname.com/。代码位于/内,而不在分支,主干或标记中。我们不使用任何这些。当Stash完成导入时,我们在Stash中没有错误。

状态页面说明以下但存储库保持空白。

Subversion Mirror

有人知道这可能是错误还是错误配置?

1 个答案:

答案 0 :(得分:1)

这是2.0.15中的错误和配置错误。默认情况下,SVN镜像插件假设您具有标准的trunk / branches / tags结构,如果没有这样的目录,则不会转换任何提交。但是如果你有不同的存储库结构,你也可以指定它,从版本2.0.16(当它发布时; 2.0.15不支持),你可以指定项目根目录作为项目的唯一“分支”

所以步骤是:

  1. 安装版本> = 2.0.16的SVN镜像插件或使用此链接到2.0.16-beta3版本(如果尚未发布):
  2. http://old.subgit.com/download/stash/stash-svn-importer-2.0.16-beta3.jar

    (选择Administration | Manage add-ons | Upload add-on | From this URL

    1. 创建存储库,选择“Subversion Mirror”。
    2. 填写SVN URL,保留Trunk / Branches / Tags / Shelves选项,稍后您将覆盖它们。如果需要,请指定其他选项。按“继续”。
    3. 选择高级配置|应用更改
    4. Edit SVN Mirror plugin for Stash configuration

      编辑配置以删除所有主干/分支/标签/货架选项并仅添加

      trunk = :refs/heads/master
      

      您可以在SubGit book和此#字符开头的评论中找到有关这些选项的文档。

      :refs/heads/master规则表示:字符之前的SVN路径(对应于项目根目录的空字符串)映射到Git引用refs/heads/master

      1. 在“作者映射”标签中检查作者,然后按“继续”。
      2. 这就是全部,现在refs/heads/master Git引用具有Subversion存储库中项目根目录的历史记录。