现有 GIT Samba 上的回购在 Cygwin 中不起作用

Existing GIT Repos over Samba don't work from Cygwin

我在 Samba 服务器上有一组 git 存储库,我似乎无法再从我一直使用的 Cygwin 安装中使用它们。

几年来我一直在使用同一台服务器,但根本没有触及它的 OS。但是我几天前更新了我的 Cygwin 设置。

$ git --version
git version 2.1.4

不久前我进行了编辑,提交并尝试推送。我得到了这个输出:

$ git push origin master
fatal: '//host/path/to/repo.git/' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

我已经使用上述回购一年多了,所以它不能在任何一方的 .git/config 中。

我读了 Git over samba cannot fetch/add/commit anymore,它似乎得出了一个内核错误需要补丁(在客户端?)的诊断结论。由于客户端是 Cygwin,因此不适用于这种情况。由于服务器端没有改变(仍然是 2.6.27),因此在这方面回归是不合乎逻辑的可能性。

这里还有几个其他问题,它们从相同的错误消息开始,但情况略有不同,并得出相同的结论,如上所示修补内核。

我在 git 1.7.9 上使用同一组存储库安装了另一个 Cygwin。它仍然可以克隆我的任何回购协议,即使是新创建的空回购协议,它是由具有 git 版本 2.1.4.

的 Cygwin 创建但无法推入的

Cygwin 2.0.0 中存在一个错误,该错误已在 Cygwin 2.0.1-1 中修复。该错误在 cygwin1.dll 中。您可以在 this cygwin.com email thread and see the announcement

中追踪诊断

在受影响的 Cygwin 版本上遇到此问题的用户一定要尝试更新到最新的可用版本。

据我了解,问题在于在 Samba 共享 Windows 和 Cygwin POSIX 环境的不同权限表示之间转换权限。有关正确信息,请参阅上述诊断线程。

很抱歉没有及时反馈。