如何将SVN repo的本地克隆转换为git

时间:2017-06-22 07:59:19

标签: git svn

  

虽然这听起来像是一个常见的问题,但实际上我找不到任何问题   线程与我在#SO上遇到的问题相同。

我有一个svn repo的旧副本(从不再存在的repo中检出 - 服务器暂时退役)。我想要检查该回购的提交历史记录。我想,因为有一个" .svn"在repo根目录中的文件夹中有65 + M的数据,应该可以这样做。

到目前为止我尝试了什么(但是没有用):初始化一个新的git repo并尝试将现有的repo转换为git

# Init empty git repo git init git svn rebase -l

# Init git-svn repo rm -rf .git git svn init http://same/url/as/the/one/used/before/decommissioning/the/server git svn rebase -l

我想做的甚至可能吗?我要查找的数据是否可以脱机使用?

2 个答案:

答案 0 :(得分:1)

I think this is impossible。本地SVN签出不包含足够的信息作为存储库。没有历史信息 - 它都在服务器上。

您需要来自svnadmin dump的实时服务器或转储。

答案 1 :(得分:1)

工作副本不是存储库克隆。 Subversion工作副本不包含修订历史记录。它是项目的轻量级本地副本,不用于迁移修订历史记录。您可以将工作副本的数据导入新的git存储库,但不包含任何更改历史记录。

  • 在Subversion术语中,repository是一个服务器端数据库,被认为是单一的“事实来源”。它是一个中央存储,您可以使用Web浏览器访问以查看更改历史记录,并用于签出工作副本以使用版本化数据。

  • working copy是您工作和变更的工作台。您可以使用它来操作存储库 - 修改数据并将更改提交到远程存储库。工作副本的大小通常要小得多,并且通常比存储库本身更快,因为它只包含一个项目的分支或主干(即主服务器)。通过任何修改组合,可以根据需要从同一存储库或项目中获得尽可能多的工作副本。