克隆50%的50k+;将svn存储库提交到git

克隆50%的50k+;将svn存储库提交到git,git,svn,git-svn,Git,Svn,Git Svn,尝试迁移具有50k+的svn存储库时,请使用以下命令提交到git: git init git svn init https://10.10.10.10:8443/svn/rep --stdlayout git svn fetch --fetch-all --log-window-size=1000 --authors-file=..\authors-transform.txt 报告了以下错误: Connection reset by peer: Error running context: C

尝试迁移具有50k+的svn存储库时,请使用以下命令提交到git:

git init
git svn init https://10.10.10.10:8443/svn/rep --stdlayout
git svn fetch --fetch-all --log-window-size=1000 --authors-file=..\authors-transform.txt
报告了以下错误:

Connection reset by peer: Error running context: Connection reset by peer at /mingw64/share/perl5/site_perl/Git/SVN/Ra.pm line 312.
我已尝试再次提取,但错误仍然存在

  • 吉特:2.12.12
  • svn:1.8.11
  • 操作系统:Windows7x64

任何帮助都将不胜感激。

对于一次性迁移
git svn
不是转换存储库或存储库部分的正确工具。如果您想将Git用作现有SVN服务器的前端,那么它是一个很好的工具,但是对于一次性转换,您应该不要使用
Git SVN
,而是
svn2git
,它更适合此用例

有很多工具称为
svn2git
,最好的工具可能是来自的KDE工具。我强烈建议使用
svn2git
工具。这是我所知道的最好的一款,它的规则文件非常灵活

您将能够轻松地配置
svn2git
s规则文件,以从当前的SVN布局中生成所需的结果,您还可以告诉它保留空目录,方法是给它一个命令行选项,使其将空
.gitignore
文件放在目录中以保留它们

如果您不是100%了解存储库的历史记录,
svneverever
from是在将SVN存储库迁移到Git时调查其历史记录的一个很好的工具


尽管
git svn
更容易开始,但以下是使用KDE
svn2git
而不是
git svn
更优越的原因,除了它的灵活性之外:

  • 通过
    svn2git
    (如果使用了正确的历史记录),可以更好、更清晰地重建历史记录,对于具有分支和合并等更复杂的历史记录尤其如此
  • 这些标记是真实的标记,而不是Git中的分支
  • 使用
    git svn
    时,标记包含一个额外的空提交,这也使得它们不是分支的一部分,因此正常的
    fetch
    将不会获取它们,直到您将
    --tags
    交给命令,因为默认情况下,也只获取指向已获取分支的标记。使用正确的svn2git标记就可以找到它们所属的位置
  • 如果您更改了SVN中的布局,您可以使用
    svn2git
    轻松配置它,使用
    git SVN
    您最终将丢失历史记录
  • 使用
    svn2git
    还可以轻松地将一个SVN存储库拆分为多个Git存储库
  • 或者将同一SVN根目录中的多个SVN存储库轻松组合到一个Git存储库中
  • 使用正确的
    svn2git
    比使用
    git svn

你看,有很多原因导致
git svn
更差,而KDE
svn2git
更优越。:-)

您有权访问服务器吗?您可以在本地下载文件,然后进行转换。这是一次性迁移,然后只使用Git,还是要从Git克隆提交回SVN?@msitt我可以访问服务器,但您会在本地做什么?@Vampire一次性迁移!不考虑“为什么”对等方重置
连接。。。第312行
抛出错误或如何解决??