就我而言,克隆操作没有正确完成。git svn clone
在结帐过程中会失败。一旦我解决了这个问题,它会在克隆操作后自动进行结帐——不再有空文件夹。
[更新]以下是我的情况:
尝试git svn clone --preserve-empty-dirs <repo>
对我来说失败了。在网上搜索后,我找到了https://www.semitwist.com/articles/article/view/the-better-svn-git-guide,其中部分内容是:
这部分有点烦人。从 v1.7.7 开始,Git 有一个 --preserve-empty-dirs。问题是,这该死的东西坏了。如果您尝试按原样使用它,整个操作可能会在中途失败。它必须被修复。
首先,找到你的 git-svn 文件:
$ 查找 /2> /dev/null | grep git-svn
$ 查找 2>/dev/null / -type f | grep -l "剥离失败"
对我来说,它位于 /usr/libexec/git-core/git-svn。
注意:它不再存在于 git-svn 中(至少不在 git 2.7.0 中)。我在/usr/lib/perl5/vendor_perl/5.22/Git/SVN/Fetcher.pm
.
在您喜欢的编辑器中打开目标文件:
sudo <your-favorite-editor> path/to/file
现在,在这个 git-svn 文件中,搜索die "Failed to strip path
. ([取决于您的 git 版本,] 它 [可能] 位于第 4583 行附近。更改die
为print
并保存。您的 git-svn 现在已修复。
git svn clone --preserve-empty-dirs <repo>
现在应该按预期运行。