我下载了一个svn仓库
git svn clone -s svn+ssh://svn.dummy.com -r666666:HEAD
现在我想要将早期历史记录添加到项目中。我是否可以稍后执行此操作,还是必须重新下载整个项目?
基本上我想做的是检出一个包含其历史记录的大型软件包。git svn 总是在某个点崩溃。SubGit 对于我来说完全不起作用(使用svn+ssh)。欢迎提供替代方案。
git
本身并不能提供太多帮助,因为这是一种非常不寻常的操作。您可以在this article中找到整个工作流程的逐步说明。git svn
做得更好。它生成的时间轴更像原始的Subversion时间轴。git svn
导入整个 Subversion 历史记录需要几天时间。我尝试过,但总是在某个时候崩溃。这就是为什么我想逐步添加旧的历史记录。SubGit 是否可以替代 git svn?如果可以,我会试一试。 - pfnueselsvn
存储库分批转换为git
,则可以使用git remote
(连接存储库)和git rebase
(执行实际连接)轻松地将它们连接起来。 在此过程中,您将失去提交日期(作者日期不受影响)。 我在回答中提供的冗长文章是关于如何在rebase
之前备份它们,并在之后进行恢复的。 - axiacsvn+ssh://username@host/path-to-repository
作为 --svn-url
参数。密码可能被存储在您的主目录下的 .svn
子目录中(其中 svn
自身保存密码、加密或未加密,以及其配置文件)。如果存在,您可以很容易地识别并删除它。 - axiac
git svn fetch
有时可以恢复,但在某些时候会停止工作。我从未成功获取到这个巨大仓库的完整历史记录,总是遇到 Perl 错误。 - pfnueselsvn2git
可以将 svn 仓库转换为 git 仓库,但是我之后无法提交到 svn 仓库。出于同样的原因,SubGit 对我也不起作用。 - pfnuesel