git-svn克隆检查错误的回购?

时间:2009-09-21 08:27:31

标签: git-svn

所以我试图通过使用git-svn切换到git。我有一个名为 myrepo 的svn repo,我想从中克隆名为 myproject 的项目。问题在于运行以下命令:

git svn clone path-to-repo/myrepo/myproject --stdlayout --prefix=svn myproject

克隆整个仓库 myrepo 而不仅仅是myproject。我尝试使用-T,-t,-b以让git知道项目的布局,但没有任何成功。我总是得到以下输出:

Using higher level of URL: path-to-repo/myrepo/myproject => path-to-repo/myrepo

并尝试克隆那个。难道我做错了什么?可能是svn repo布局可能被破坏或git不兼容?

4 个答案:

答案 0 :(得分:69)

您可以尝试--no-minimize-url选项。

根据http://schacon.github.com/git/git-svn.html

  

- 无最小化-URL

     

当跟踪多个目录(使用--stdlayout, - blank或--tags选项)时,git svn将尝试连接到Subversion存储库的根目录(或允许的最高级别)。如果整个项目在存储库中移动,则此默认设置允许更好地跟踪历史记录,但可能会导致读取访问限制到位的存储库出现问题。传递--no-minimize-url将允许git svn按原样接受URL,而不尝试连接到更高级别的目录。默认情况下,当只跟踪一个URL /分支时,此选项处于关闭状态(这样做不太好)。

答案 1 :(得分:2)

答案 2 :(得分:0)

.gitconfig hack可能会有所帮助,但我不知道如何重新填充: http://thread.gmane.org/gmane.comp.version-control.git/127528/focus=127776

答案 3 :(得分:0)

确保您指定了myproject的完整路径,似乎克隆操作的 fetch 部分不能很好地处理部分路径。您可以在Windows的该路径中使用冒号(例如c:\ myproject)(但不能在源存储库路径中使用冒号)。

git svn clone path-to-repo/myrepo/myproject --stdlayout --prefix=svn myproject