我正在尝试使用GIT-SVN,但我有问题让事情开始。我可以在没有任何错误的情况下克隆svn-repository(或者使用git svn init,然后使用git svn fetch),但是在命令停止处理之后,git存储库是空的,并且没有本地主分支。GIT-SVN克隆命令执行没有错误,但本地主分支丢失
我的SVN仓库坐落在这里:
https://localhost:8443/svn/projects
而且项目文件夹的结构是这样的:
/projectA/trunk
/projectA/branches
/projectA/tags
/projectB/trunk
/projectB/branches
/projectB/tags
(注意,分支和标签,文件夹为空,trunk-文件夹包含文件)。
我试图克隆了projectA所以我用这个命令:
git svn clone --username myUsername https://localhost:8443/svn/projects/ gitFolder --trunk projectA/trunk --branches projectA/branches --tags projectA/tags
处理大约需要10分钟,它所有的文件名输出到屏幕上。最后一行是这样的:
r233 = 2bfb031dda74e0ae8340688892197d647729b256 (refs/remotes/trunk)
现在,如果我切换到gitFolder输入git的日志,我得到: 致命:坏默认的修订版“HEAD”。
git branches -a
报告如下:
remotes/trunk.
有一个在gitFolder但没有别的一个git的文件夹。我也试图去git svn init
和git svn fetch
而不是git svn clone
,但最终结果是一样的。
任何想法发生了什么?提前致谢。
更新:
刚刚意识到的最后一行(R233 = 2BF ...)必须指向版本号。所以最后处理的svn修订版本是233.我多次重新测试了这个版本,并且git-svn clone始终在修订版233之后停止。问题是原始svn存储库包含超过10100个修订版本。我不确定为什么git-svn在应用之前停止,因为没有任何错误或警告。有没有可以提供更多线索的日志文件?
另一个更新:
我能解决我的问题。这是由VisualSVN(版本2.1.3)和Msysgit(版本1.7.0.2-preview20100309)之间的通信问题引起的。看起来,在某些时候,git-svn只是失去了与VisualSVN服务器的连接,并没有显示错误并关闭。从http协议切换到svn协议解决了这个问题。
使用SVN协议具有的VisualSVN是很容易的:
- 进入的的VisualSVN
- 类型的Bin文件夹 “的svnserve --daemon”
您可以检查一切通过使用TortoiseSVN并将其指向您的存储库:svn:// localhost/repositories/myProject
作注,在它得到这部分的下载文件夹“无枝”,对我来说,意思是“不要运行git svn clone -s”(-s == --stdlayout)。运行它没有“-s”然后它工作。怪异和混帐甚至没有抱怨它只是创建了填充目录... – rogerdpack 2013-01-25 17:26:15
你是从现有的svn目录内部执行'git svn init'和'git svn fetch'吗? – 2016-04-15 15:10:33