无法将svn存储库(没有trunk)转换为git

时间:2012-06-22 15:49:34

标签: git svn git-svn

我正在尝试将我的svn repo转换为git,但我没有取得多大成功。 有问题的存储库没有像“主干”那样的东西。 布局如下:

/home/svn/
      |--- /project1/
      |--- /project2/
      |--- /repos/project3/

这些项目文件夹下面是文件。没有树干,没有树枝,没有什么特别的。当时我需要的只是,现在它正在咬我的屁股。

我正在关注本指南:http://john.albin.net/git/convert-subversion-to-git

当我运行此命令时:

git svn clone svn+ssh://skerit@host.com/home/svn/repos/kiflea --no-metadata -A authors-transform.txt --stdlayout ~/kiflea

它说已经创建了一个空的git存储库......但我真的不希望它是空的。

我也不知道以下命令应该是什么样子,因为我的存储库有不同的布局。

git symbolic-ref HEAD refs/heads/trunkgit config remote.bare.push 'refs/remotes/*:refs/heads/*'

等命令

2 个答案:

答案 0 :(得分:45)

只需删除--stdlayout选项即可。它表示主干/分支/标签结构。

答案 1 :(得分:3)

如果您可以本地访问SVN存储库,我建议您使用SubGit进行转换。有几个简单的步骤:

$ subgit configure path/to/svn/repository
$ #edit path/to/svn/repository/conf/subgit.conf to specify "core.authorsFile" option to point to your authors-transform.txt
$ subgit install path/to/svn/repository

之后将创建一个Git存储库,并且存储库将保持不变同步。您可以选择运行

$ subgit uninstall path/to/svn/repository

关闭同步。

如果您对存储库没有本地访问权限,则使用SmartGit克隆存储库。效果将类似于“git svn clone”,但像ignores,EOLs处理选项,标签这样的SVN概念也将被翻译成Git(我也可以说SubGit)。

这些解决方案都不是基于“git-svn”。