Git svn克隆拉坏了存储库

Git svn克隆拉坏了存储库,git,svn,clone,git-svn,git-clone,Git,Svn,Clone,Git Svn,Git Clone,当将JavaScript/Web项目从Subversion转换为Git时,我看到了一个问题,即使我从头开始,第一个Git存储库总是不好的 git svn克隆工作正常。从这里开始,拉取裸存储库看起来不错,但从原始克隆的repo或任何后续裸存储库中拉取具有工作目录的存储库会出现以下错误: Cloning into 'R:\WebClone2'... done. fatal: unable to read tree f86e35f1f083aa394cd0c28871cb5433fe9751da wa

当将JavaScript/Web项目从Subversion转换为Git时,我看到了一个问题,即使我从头开始,第一个Git存储库总是不好的

git svn克隆工作正常。从这里开始,拉取裸存储库看起来不错,但从原始克隆的repo或任何后续裸存储库中拉取具有工作目录的存储库会出现以下错误:

Cloning into 'R:\WebClone2'...
done.
fatal: unable to read tree f86e35f1f083aa394cd0c28871cb5433fe9751da
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'
我看不出这样的错误组合。到目前为止我所做的:

git fsck显示没有问题,即使使用-full。 Subversion项目有空文件夹。这可能是个问题吗?将.gitkeep添加到克隆版本中的空文件夹不会修复下游克隆。 当我做git状态时,它基本上希望删除repo中的每个文件和文件夹。如果我承诺,一切都会消失。 如果我改为进行git签出,那么该存储库就变好了。然而,从这个好拷贝克隆的回购协议也显示出同样的问题。 我迷路了。谢谢你的帮助


更新:我在Subversion中将.gitkeep放在空文件夹中,并使用git svn clone重新转换-同样的问题。

我一直无法深入了解确切的问题,但我找到了一个解决方案:

源存储库位于单独的计算机上,可通过Windows网络上的映射驱动器访问。当我通过Windows资源管理器进行克隆时,克隆失败,出现上述错误。但当我使用远程桌面或使用网络用户和密码直接登录计算机时,克隆工作正常

我唯一能得出的结论是,这是一个Windows/网络登录权限问题。对回购协议错误的深入研究也暗示了这一点

希望这对将来的人有帮助

更新:办公室中的其他人在将存储库从网络驱动器克隆到他们自己的工作站时遇到了相同的问题。测试表明:

其他人都可以将存储库克隆到自己的机器上 她无法在其他人的计算机上使用Windows登录进行克隆 其他人可以用他们的Windows登录名克隆到她的机器上
这似乎支持这样一个事实,即存在某种Windows权限问题,而不是存储库损坏或其他Git问题。

发生了一些奇怪的事情。你能发布关于如何复制这个的完整说明吗?您输入的所有命令,逐字记录,直到问题出现。理想情况下,如果可能的话,为我们提供SVN回购协议。此外,您还写了关于提货的文章。请注意,您通常不应该将推/拉与git svn repo一起使用-仅与svn直接交互。请参阅:注意事项-为了简单性和与Subversion的互操作,建议所有git svn用户直接从svn服务器克隆、获取和提交数据,并避免git存储库和分支之间的所有git克隆/拉/合并/推操作。无论如何,您得到的错误是致命的:无法读取树与git svn没有直接关系,它只是意味着您的本地git repo已损坏。尝试升级到最新的git,然后在另一台计算机上尝试整个过程,以排除系统出现问题。