将其导入到Git存储库中。过去(2009-2012年),曾经进行了一个vcs-svn实验,将SVN“dumpfile”转换为Git快速导入流,但是...随着Git 2.29(2020年第4季度)的推出,这个实验已经被彻底取消了。
The code in vcs-svn
was started in 2010 as an attempt to build a remote-helper for interacting with svn repositories (as opposed to git-svn
).
However, we never got as far as shipping a mature remote helper, and the last substantive commit was [e99d012a6bc](https://github.com/git/git/commit/e99d012a6bc8b8647a0389d486b5489557364ea6, Git v1.8.1-rc0) in Oct. 2012.
We do have a git-remote-testsvn
, and it is even installed as part of "make install
". But given the name, it seems unlikely to be used by anybody (you'd have to explicitly "git clone testsvn::$url
(man), and there have been zero mentions of that on the mailing list since 2013, and even that includes the phrase "you might need to hack a bit to get it working properly").
We also ship contrib/svn-fe
, which builds on the vcs-svn
work.
However, it does not seem to build out of the box for me, as the link step misses some required libraries for using libgit.a
.
Curiously, the original build breakage bisects for me to eff80a9fd9 (Allow custom "comment char", 2013-01-16, Git v1.8.2-rc0), which seems unrelated.
There was an attempt to fix it in da011cb0e7 ("contrib/svn-fe
: fix Makefile", 2014-08-28, Git v2.2.0-rc0 -- merge), but on my system that only switches the error message.
So it seems like the result is not really usable by anybody in practice.
It would be wonderful if somebody wanted to pick up the topic again, and potentially it's worth carrying around for that reason. But the flip side is that people doing tree-wide operations have to deal with this code.
And you can see the list with (replace "HEAD" with this commit as appropriate):
{
echo "--"
git diff-tree --diff-filter=D -r --name-only HEAD^ HEAD
} |
git log --no-merges --oneline e99d012a6bc.. --stdin
which shows 58 times somebody had to deal with the code, generally due to a compile or test failure, or a tree-wide style fix or API change.
Let's drop it and let anybody who wants to pick it up do so by resurrecting it from the Git history.
As a bonus, this also reduces the size of a stripped installation of Git from 21MB to 19MB.
svnrdump
也被添加到列表中了... - user4964330svnrdump
的能力,也没有访问服务器的权限,那么您被分配的任务(迁移存储库历史记录)几乎是不可能完成的。剩下的唯一选择是检出存储库的每个修订版本,并按顺序将它们提交到一个新的git存储库中。 - alroc