nic*_*335 12 svn git google-code
我想将此项目https://code.google.com/archive/p/majesticuo迁移到GitHub,维护历史记录.
当我尝试使用"导出到GitHub"按钮时,它会显示"Google代码项目导出工具不再可用
Google Code to GitHub导出工具不再可用.Google代码存档的源代码现在可以在Google代码存档中找到.
手动执行此操作的最佳方法是什么?我没有svn知识,知道一点点git.非常感谢!
2017年11月6日更新
您似乎可以以gzip svn转储流文件的形式恢复和下载项目的历史记录.跟着这些步骤:
该文件是一个gzip压缩文件存储库转储流文件,您可以使用svnadmin load工具将其加载到新存储库中.
如果您导航到Google代码中的项目页面,然后单击侧栏中的"源",然后在结果页面中单击"源",您将进入带有"下载"链接的页面.这将导致一个名为"source-archive.zip"的文件,其中包含您项目的某种存档 - 我不确定它有多完整,但它确实包含一些svn元数据.但是,如果将该URL的最后一部分从"source-archive.zip"更改为"repo.svndump.gz",您将获得repo的svn"转储".这应包含完整的历史记录,并可使用各种svn-to-git迁移工具转换为git格式.(我根据这篇博客文章中的信息计算出来,其中还列出了最终转换的一些建议步骤.但是如果您第一次尝试转换转储失败,请尝试其他工具;有很多选项并且有一些艺术如果你的回购历史很复杂,那就去吧.)
以下是我最近执行的将gil-contributions的 Google 代码存档移动到 GitHub存储库的过程,在本地没有任何 Subversion 服务器实例。
按照bahred 的说明下载repo.svndump.gz
存档。
创建本地 Subversion 存储库并导入转储
svnadmin create /home/mloskot/svn
svnadmin load /home/mloskot/svn < /home/mloskot/repo.svndump
Run Code Online (Sandbox Code Playgroud)检查 Subversion 存储库以生成作者文件
svn checkout file:///home/mloskot/svn
Run Code Online (Sandbox Code Playgroud)
并找到许多脚本之一来生成authors.txt.
从https://subgit.com下载最新的 SubGit
阅读 SubGit 导入指南,https://subgit.com/documentation/import-book.html
初始化 Git 存储库,其中 SubGit 将翻译 Subversion 存储库
subgit configure --minimal-revision 1 --layout std file:///home/mloskot/svn /home/mloskot/git
Run Code Online (Sandbox Code Playgroud)编辑subgit/config生成的文件/home/mloskot/git/subgit/config
将 Subversion 存储库导入 Git
subgit import /home/mloskot/git
subgit uninstall --purge /home/mloskot/git
Run Code Online (Sandbox Code Playgroud)克隆 Git 存储库(同样作为验证步骤)并将其推送到 GitHub
git clone --mirror /home/mloskot/git repo
cd repo
git config remote.origin.mirror false
git clone --mirror <GITHUB REPO URL>
git remote set-url origin <GITHUB REPO URL>
git push --all origin
git push --tags origin
Run Code Online (Sandbox Code Playgroud)享受您的代码的新家吧!
| 归档时间: |
|
| 查看次数: |
1623 次 |
| 最近记录: |