将gitlab从6.3升级到6.5后,一切看起来都不错,但我不能通过HTTP克隆任何存储库。我可以通过SSH克隆/获取/推送,也可以通过HTTP浏览整个存储库,但不能通过HTTP克隆它。 错误消息是:
$ git clone http://mydomain/mygroup/test.git
Cloning into 'test'...
fatal: protocol error: bad line length character: 3ca
fatal: The remote end hung up unexpectedly
任何提示都表示赞赏。
======更多信息=======
如上所述执行克隆时,有两个nginx日志:
192.168.1.103 - - [26/Feb/2014:17:51:58 +0800] "GET /mygroup/test.git/info/refs?service=git-upload-pack HTTP/1.1" 200 283 "-" "git/1.8.3.4 (Apple Git-47)" "-"
192.168.1.103 - - [26/Feb/2014:17:51:58 +0800] "POST /mygroup/test.git/git-upload-pack HTTP/1.1" 200 994 "-" "git/1.8.3.4 (Apple Git-47)" "-"
这是我在以前通过HTTP克隆的项目中尝试“git fetch”时遇到的错误:
$ git fetch
fatal: git fetch_pack: expected ACK/NAK, got '
0038ACK 12c5f4a0f130acfd8ef502a28989f42d37228016 common
0038ACK 736453e9369a9bb91b2b49b17419c168e4b61c5b common
0031ACK 736453e9369a9bb91b2b49b17419c168e4b61c5b
0022Counting objects: 114, done.
002eCompressing objects: 100% (67/67), done.
2004PACK'
答案 0 :(得分:0)
Git 2.13(2017年第二季度)可以添加比fetch-pack
更明确/准确的错误消息
这有助于解释OP案例中的特定克隆错误。
commit 8e2c7be见Jonathan Tan (jhowtan
)(2017年4月12日)
(Junio C Hamano -- gitster
--于2017年4月24日commit d2617eb合并)
上显示更清晰的错误消息
ERR
:在expected ACK/NAK
目前,fetch-pack在与其通信的服务器发送一个以“
pkt-line
”开头的ERR
时会打印一条令人困惑的错误消息(“fetch-pack/upload-pack
”)。 将其替换为较少混淆的错误消息。同时更新描述
ERR
的文档 协议(pack-protocol.txt
)表示可以在“ACK
”或“NAK
”的位置发送“want $id not valid
”。
在实践中,这已经完成了一些 其他Git实现的时间(例如JGit发送“upload-pack
”) 并且由Git本身(自提交bdb31ea:“not our ref
:报告”want
“到客户端”,2017-02-23)每当“`enter code here` need <?php function addItemToCatalog($var1, $var2, $var3, $var4) { $sql = 'INSERT INTO catalog (var1, var2, var3, var4, $link) VALUES (?, ?, ?, ?)'; end <?php require_once ("db.php"); require_once ("function.php"); $var1 = $_POST['var1']; //showing without filtering methods $var2 = $_POST['var2']; $var3 = $_POST['var3']; $var4 = $_POST['var4']; if(!addItemToCatalog($var1, $var2, $var3, $var4, $link)){ echo 'some error text';
”行引用时它没有的对象。 (这种情况并不常见,但如果在协商期间对存储库进行了垃圾收集,则会发生这种情况。)