27

我搜索了相关问题,但找不到与我的具体情况相匹配的任何内容:我有一些来自多年前被删除的 SVN 服务器的旧存储库档案。它们是服务器上原始存储库结构的 tarball。我想要做的是将它们转换为 git 存储库,作为未来工作/恢复项目的基础。我已经阅读了几个关于转换过程的教程,我想我可以弄清楚作者转换、分支映射等,但他们都假设你有一个 SVN 服务器和一个存储库的 url。我是否需要安装和设置 SVN 服务器才能进行此转换,或者有什么方法可以指向我拥有的 repo 转储中的任何一个git clone或(或其他工具)?svn2git

4

5 回答 5

39

在本地安装 subversion 以导入您的转储,然后使用 git-svn 包。

您可以使用git svn clone file:///path/to/svn/repo /path/to/empty/dir

于 2013-04-15T15:30:14.713 回答
8
于 2015-04-16T08:14:48.923 回答
2
  1. 所有 (?) svn -> git 转换器都需要实时的 Subversion 存储库,
  2. 存储库的树副本不是转储,而是通常的文件级备份。

你有:

  1. 安装和配置任何 Subversion 服务器(如果您的转换器无法处理file:///SVN 协议,否则不需要 - 只需解压缩 tarball 并使用 svn 客户端检查 repo)
  2. 阅读关于 git-svn
  3. 使用 git-svn
于 2013-04-14T22:56:13.053 回答
0

reposurgeon工具支持将 SVN 转储文件直接(并且非常快速)转换为 Git 存储库。

于 2020-11-19T08:12:53.193 回答
0
  1. 在您的服务器中获取转储文件:

    svnadmin dump "repopath or url" > import.bkp
    
    git svn clone "back" 
    
  2. 转到克隆路径,然后打开 git bash 并运行以下命令:

    git svn show-ignore > .gitignore
    
    git add .gitignore
    
    git commit -m "with message"
    
    git check in "git url"
    
于 2018-03-08T07:54:35.620 回答