|
|
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提交,反之亦然(转换是并发安全的,因此可以使用任何接口)。 |
|
Harry · 如何在编译时获取克隆的git仓库的标签 1 年前 |
|
Ooker · 如何从blob中删除秘密? 1 年前 |
|
|
hasdrubal · git日志图智能分支过滤器 1 年前 |
|
|
J. Doe · 为什么git中没有跟踪git文件? 1 年前 |