我要将SVN存储库迁移到Git存储库。为了做到这一点,我必须在我的机器中本地拥有svn存储库。到目前为止,我尝试了svn checkout、git svn clone、svndump,但都没有奏效。我找到了rsync,但这也给出了一个我无法消除的错误。
我在希望它复制存储库的目录中执行以下命令:
rsync -a . username@domain.host:http://someAddress/svn/repoName
并得到以下错误。
ssh: Could not resolve domain.host: Name or service not known rsync: connection unexpectedly closed (0 bytes received so far) [sender] rsync error: unexplained error (code 255) at io.c(605) [sender=3.0.9]
有人能给出这个场景的简单用例吗?
提前谢谢。
更新:尝试了以下操作:
svnadmin dump http://someAddress/svn/Reponame > Reponame-svn.out并得到了以下错误:
svnadmin: 'http://someAddress/svn/Reponame' is an URL when it should be a path所以,这也没用..。
发布于 2016-05-10 20:12:51
如果您没有对Subversion服务器的直接访问,并且您使用的是最近的客户机(应该是这样的),您可以使用svnrdump创建一个dumpfile,然后您可以将该文件加载到本地存储库中,在那个时候创建一个完整的存储库的副本,然后您可以将其转换为git。
如果您确实可以直接访问服务器,请在服务器上使用svnadmin dump创建相同的垃圾文件,然后转移到工作的任何地方,加载到新的存储库中,并运行转换。
发布于 2016-05-10 14:54:28
rsync只在SSH连接上工作,而不是HTTPS。它还要求您拥有对服务器的控制台访问权限(即您的存储库托管在Linux/Unix服务器上)。因此,除非您有一个用于存放SVN存储库的服务器的SSH密钥(这使您处于$或#提示符下),否则您将无法使用rsync (或scp)获取存储库文件。
如果是Windows服务器,则需要RDP访问(或以某种方式运行命令,然后将文件放在可以下载的位置)。
要制作SVN存储库目录的备份副本,可以使用svndump或svnadmin hotcopy。两者都必须在服务器上的命令行中执行。然后,您需要将转储文件(svndump)或svnadmin hotcopy创建的存储库目录传输到本地机器。
https://stackoverflow.com/questions/37139688
复制相似问题