2016-01-06 67 views
2

昨天我安裝了一個新的Git的Windows Server 2.6.4這是工作的罰款與Mac客戶端GIT中(GIT協議)的Git對於Windows:致命的:早EOF

今天,我掙扎着爬一個第二客戶端(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' 

我還能嘗試一下呢?

+0

我放棄了並開始使用ssh協議代替 – wytten

回答

4

Git進程只知道當一些文字在Git進程的控制檯窗口選擇 在Windows 工作(例如,見 git clone fails with "index-pack" failed?)。 該文本選擇會延遲守護進程的輸出,這有助於(!)。由於 文本選擇被清除(使用退出鍵),克隆/提取 大部分時間都失敗。再次選擇文本,並克隆/提取恢復 工作。使用git 2.11.0.windows.1通過在本地通過 git clone git://127.0.0.1/my-repo進行克隆,可以在Windows 10上輕鬆地複製該問題。

+0

OMG WTF!這爲我修好了。但是,這是如何「知名」? – AyCe

+0

@AyCe,這個知識記錄在Martin的「git clone failed with」索引包「失敗?」的答案中。問題(請參閱我的答案中的鏈接)。我不知道馬丁如何設法找到解決方法。此外,這些知識記錄在[git-for-windows問題#304:調查git守護進程問題](https://github.com/git-for-windows/git/issues/304)。 – Oleg