繁体   English   中英

执行git lfs迁移后无法svn rebase

[英]Unable to svn rebase after doing git lfs migrate

我一直在将Subversion代码库迁移到Git。 一切顺利,我git svn clone(d)仓库,然后git lfs migrate(d)大文件和二进制文件。 回购从Git方面看起来不错,但我现在无法git svn rebase ...

$ git svn rebase Unable to determine upstream SVN information from working tree history $

我尝试了网络上有关解决此问题的各种建议,但它们似乎没有效果。 有什么建议么? 我可以重置Subversion / Git信息吗? 我应该在进行git lfs clone之前git lfs install(ed) git lfs clone吗?

使用git lfs importgit svn索引损坏的原因是,后者会重写Git存储库历史记录(除非给出了--no-rewrite选项)。

如果使用--no-rewrite选项对您可行(也就是说:您可以处理将大文件保留在Git存储库历史记录中,仅从将来的提交中删除它们),那么也许这是最简单的方法。

另一方面,如果您必须将那些大的二进制文件完全远离存储库存储,那么在其历史记录中就不能有将这些文件直接添加到Git的提交。 因此,您必须继续使用纯git lfs import来重写git svn clone/fetch创建的所有提交,并将这些文件重定向到LFS。 运行git lfs import ,您将需要重新生成git-svn rev_map ,以将重写的Git历史记录中的新提交映射到它们镜像的SVN修订版。 我不知道是否有简单的方法可以执行此操作,但是您可以看看https://github.com/Eloston/git-svn-lfs中的代码以了解一个想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM