我正在尝试将我的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/trunk
或git config remote.bare.push 'refs/remotes/*:refs/heads/*'
答案 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”。