TortoiseGit克隆的SVN存储库为空



注意:我在CLI git/git svn中看到过关于这方面的问题,但在TortoiseGit中没有看到。

我下载并安装了Git和TortoiseGit。我已经有了一个远程SVN存储库,并且安装了TortoiseSVN,如果这有什么不同的话。

在创建一个空目录后,我使用如下的右上下文菜单:

  • Git克隆
  • 输入我的SVN存储库的URL
  • 输入我刚刚创建的本地目录
  • 单击"来自SVN存储库"
  • 取消选择标记和分支,因为我的SVN存储库没有它们
  • 取消选中"发件人:"框(稍后会详细介绍)

当我点击OK时,会弹出一个窗口,说它正在连接到存储库,然后它会滚动浏览所有修订,直到r 1693,这是我的最新版本。它显示"成功",我的本地文件夹中有一个.git目录。但没有文件。

我对它进行了如下处理:

  • Fetch
  • SVN获取
  • SVN回扣
  • 拉动
  • 将修订号更改为0
  • 将修订号更改为1
  • 将修订号更改为我的最新版本

SVN Fetch似乎是显而易见的选择。当我更改修订号时,克隆操作失败,并显示消息:

git did not exit cleanly (exit code 1) (16078 ms @ 12/16/2013 10:31:27 AM)

我将开始摆弄CLI,但我怀疑我也会遇到同样的问题。毕竟,这是一个非常基本的操作。非常感谢你的帮助。

对于其他看到这一点的人来说,问题是我选中了"trunk"选项,但我的svn存储库的设置方式使得我的目标位置没有trunk/目录。您必须假设git-svn确定路径的方式,或者在文档中查找更多信息。

尽管我的SVN存储库中有一个trunk文件夹,但它被命名为"trunk"(注意大写),但我也出现了与描述相同的症状。从SVN存储库进行克隆时,如果需要指定主干目录,则必须确保指定的名称准确(区分大小写)。

我在Linux上也遇到了同样的问题,因为它的存储库没有遵循SVN文件夹约定。基本上,在这些情况下,必须始终指定主干文件夹,否则不会克隆任何文件或文件夹。在命令行中,这是用-T参数进行的,例如:

 git svn clone file:///home/svn/my_project -T trunk_folder --stdlayout --prefix=origin/ my_project.git

最新更新