升级到6.5后,Gitlab无法通过HTTP进行克隆

时间:2014-02-26 03:04:03

标签: http clone gitlab

将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'

1 个答案:

答案 0 :(得分:0)

Git 2.13(2017年第二季度)可以添加比fetch-pack更明确/准确的错误消息 这有助于解释OP案例中的特定克隆错误。

commit 8e2c7beJonathan 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'; ”行引用时它没有的对象。 (这种情况并不常见,但如果在协商期间对存储库进行了垃圾收集,则会发生这种情况。)