实现这一目标有不同的方法。我已经尝试了其中的一些方法,发现真正有效的方法是在Windows操作系统上安装Git和SVN。
先决条件:
-
Windows上的Git(我用过这个)
https://git-scm.com/
-
安装了控制台工具的SVN(我使用了Tortoise SVN)
-
转储SVN存储库的文件。
svnadmin dump /path/to/repository > repo_name.svn_dump
实现最终目标的步骤(将所有具有历史记录的存储库移动到Git,首先是本地Git,然后是远程存储库)
-
在目录repo_name_文件夹中创建空存储库(使用控制台工具或Tortoissesvn)
cd REPO_NAME_PARENT_FOLDER
,将dumpfile.dump放入repo_name_parent_文件夹
-
svnadmin load REPO_NAME_FOLDER < dumpfile.dump
等待这个操作,可能会很长时间
-
这个命令是无声的,所以打开第二个命令窗口:
svnserve -d -R --root REPO_NAME_FOLDER
为什么不直接使用文件:///……?因为下一个命令将失败
Unable to open ... to URL:
谢谢你的回答
https://stackoverflow.com/a/6300968/4953065
-
创建新文件夹源Git文件夹
-
cd SOURCE_GIT_FOLDER
-
git svn clone svn://localhost/wait等待此操作。
最后,我们得到了什么?
让我们检查我们的本地存储库:
git log
看到你以前的承诺了吗?如果是-好
因此,现在您已经拥有了功能齐全的本地Git存储库,其中包含了您的源代码和旧的SVN历史记录。
现在,如果要将其移动到某个服务器,请使用以下命令:
git remote add origin https://fullurlpathtoyourrepo/reponame.git
git push -u origin --all # pushes up the repo and its refs for the first time
git push -u origin --tags # pushes up any tags
在我的例子中,我不需要tags命令,因为我的repo没有tags。
祝你好运!