使用git-svn重新启用镜像

Htb*_*baa 10 svn git version-control git-svn

一段时间以来,我一直在将Subversion存储库镜像到Git存储库.哪个一直很好.但是,由于虚拟服务器崩溃而没有备份,我必须再次设置镜像.我需要跟踪的存储库大约有1200次提交,并且包含很多文件(这是Git镜像的主要原因,因为它可以更快地检出repo的副本).

我现在需要做的是让我刚刚克隆的Git镜像再次跟踪Subversion存储库.我添加新的远程引用没有问题,但似乎无法弄清楚如何能够再次将svn提交引入Git分支.

我似乎收到的一个错误是Unable to determine upstream SVN information from working tree history.

如何在现有的Git分支上重新启用镜像Subversion存储库,该分支仅在Subversion存储库的几个提交后面?

dah*_*byk 11

让它再次工作的最简单方法是.git/svn从原始目录复制目录,因为这是追踪额外svn元数据的地方(假设git-svn配置相同).

但是,既然你没有它试试这个:

  1. git svn init http://hostname/svn/repository您之前使用过的任何其他参数(也许-s?)

  2. git checkout 来自svn的最新提交.

  3. 重新创建git-svnref :( git update-ref refs/remotes/git-svn HEAD如果你使用的话-s,应该refs/remotes/trunk改为)

  4. 从当前提交后的svn中获取最新信息:git svn fetch --parent.这应该为您的整个历史记录重建git-svn元数据.