![]() |
1
5
从你的描述来看,似乎只有一些你想要接受的颠覆承诺。最直接的方法是手动提取和应用每个补丁,我将在这里概述。首先,您可以使用
这将显示101版和102版之间的差异。您可以将此输出重定向到一个文件中,以便在下一步中使用:
在Git存储库中,从上一步中获取diff并使用
这个
这个
上面的内容对于文本文件来说应该足够简单,但是如果Subversion中的任何更改文件恰好是二进制文件,则必须使用稍微不同的技术(在这种情况下,Subversion将拒绝产生有用的差异)。在提交之前,不要提取补丁并应用,只需将每个子版本的文件复制到Git存储库。如果您愿意的话,这对文本文件也可以。 |
![]() |
2
16
svn2git现在通过--rebase支持这一点。来自(当前)文档:
|
![]() |
4
0
我发现了另一种方法。我再次运行了svn2git,得到了svn存储库的更新git克隆。然后,在我的旧Git存储库中,我将新的克隆添加为远程,获取它,然后使用
当然,这意味着重新平衡的提交具有相同的提交时间,但这并不太糟糕。这比手工做补丁的工作要少,而且由于这个Git存储库还没有被我以外的任何人使用,所以我可以重写历史而不必担心后果。但一般来说,这可能不是一个好的解决方案;最好的办法是让最初的提交者获得Git访问权(他是一个反复无常的粉丝呵呵),让他自己提交补丁。 |
![]() |
5
0
我想你应该用 SubGit 而不是svn2git。当您将其安装到SVN存储库中时
它将创建一个Git接口,但SVN接口将保持完全可操作性。每个新的SVN提交都将自动转换为Git提交,反之亦然(转换是并发安全的,因此可以使用任何接口)。 |
![]() |
Eric · pip安装-e svn+ssh不接受用户 7 年前 |
|
Anu699 · 在git中管理多个项目的最佳方式是什么?[已关闭] 7 年前 |
![]() |
Dipu H · Viewvc未扩展关键字 7 年前 |
![]() |
NealWalters · SVNLook-存储库格式-语法不正确 7 年前 |
![]() |
m-mas · 尝试与svn重新同步trac时出错 7 年前 |
![]() |
Wombattle · 通过命令行在SVN中保留时间戳 7 年前 |