Git for windows:致命:早期EOF

时间:2016-01-06 14:32:30

标签: windows git

昨天我安装了一个新的Git Windows服务器2.6.4,它可以正常使用Mac git客户端(git协议)

今天我很难让第二个客户端(Windows 7)工作。在尝试使其工作的过程中,我已将Windows服务器和客户端升级到最近发布的git 2.7.0

我尝试过禁用压缩...我尝试过无线和有线网络(Windows客户端和服务器都坐在同一个桌面上)。我在客户端禁用了AV。我尝试按照建议here

调整内存设置

这是客户端输出:

bash> git clone git://server.fqdn/repo.git
Cloning into 'repo'...
remote: 08:56:10.972997 git.c:348               trace: built-in: git 'pack-objects' '--revs' '--thin' '--stdout' '--progress' '--delta-base-offset'
remote: Counting objects: 76, done.
remote: Compressing objects: 100% (38/38), done.
Receiving objects: 100% (76/76), 8.31 KiB | 0 bytes/s, done.
fatal: read error: Invalid argument
fatal: early EOF
fatal: index-pack failed
bash>

这是服务器输出:

bash> ./gitd.bat

D:\tools\gitd>set GIT_TRACE=1

D:\tools\gitd>D:\tools\Git\bin\git.exe daemon --reuseaddr --verbose --base-path=D:\git --export-all --enable=receive-pack
08:59:49.023778 git.c:561               trace: exec: 'git-daemon' '--reuseaddr' '--verbose' '--base-path=D:\git' '--export-all' '--enable=receive-pack'
08:59:49.023778 run-command.c:343       trace: run_command: 'git-daemon' '--reuseaddr' '--verbose' '--base-path=D:\git' '--export-all' '--enable=receive-pack'
[7376] Ready to rumble
09:00:03.056268 run-command.c:343       trace: run_command: 'D:\tools\Git\mingw64\libexec\git-core\git-daemon.exe' '--serve' '--reuseaddr' '--verbose' '--base-path=D:\git' '--export-all' '--enable=receive-pack'
[6492] Connection from 10...:54729
[6492] Extended attributes (27 bytes) exist 
[6492] Request upload-pack for '/repo.git'
09:00:03.087469 run-command.c:343       trace: run_command: 'upload-pack' '--strict' '--timeout=0' '.'
[6492] 09:00:03.134269 git.c:561               trace: exec: 'git-upload-pack' '--strict' '--timeout=0' '.'
[6492] 09:00:03.134269 run-command.c:343       trace: run_command: 'git-upload-pack' '--strict' '--timeout=0' '.'
[6492] 09:00:03.617872 run-command.c:343       trace: run_command: 'pack-objects' '--revs' '--thin' '--stdout' '--progress' '--delta-base-offset'

我还能尝试什么?

2 个答案:

答案 0 :(得分:5)

只有在选择了某些文本时,才知道Git守护程序可以在Windows 上运行 在git守护程序的控制台窗口(例如,请参阅 git clone fails with "index-pack" failed?)。 此文本选择会延迟守护程序的输出,这会以某种方式帮助(!)。如 一旦文本选择被清除(使用Escape键),克隆/获取 大部分时间都失败了。再次选择文本,然后继续克隆/获取 上班。使用git可以在Windows 10上轻松复制该问题 2.11.0.windows.1通过本地克隆 git clone git://127.0.0.1/my-repo

答案 1 :(得分:0)

我找到了另一种解决方案,例如仅启动**git-daemon.exe directly**
对于64位git:
"C:\Program Files\Git\mingw64\libexec\git-core\git-daemon.exe"

-> 与git.exe具有相同的参数
然后就可以不使用选择文本。