git版本列表无限挂起
如果我做了git clone,它工作得很好 但是如果在它之后我尝试使用git版本列表无限挂起,git,ssh,Git,Ssh,如果我做了git clone,它工作得很好 但是如果在它之后我尝试使用git pullit hungs(有时工作正常): git客户端版本:2.6.3 git服务器版本:2.1.4 输出: $GIT\u CURL\u VERBOSE=1 GIT\u TRACE=1 GIT pull 10:20:56.507549 git.c:348跟踪:内置:git'pull' 10:20:56.508283运行命令。c:343跟踪:运行\u命令:“获取”-更新头确定 10:20:56.508877 exec_
git pull
it hungs(有时工作正常):
git客户端版本:2.6.3
git服务器版本:2.1.4
输出:
$GIT\u CURL\u VERBOSE=1 GIT\u TRACE=1 GIT pull
10:20:56.507549 git.c:348跟踪:内置:git'pull'
10:20:56.508283运行命令。c:343跟踪:运行\u命令:“获取”-更新头确定
10:20:56.508877 exec_cmd.c:128跟踪:exec:'git''获取''--更新头确定'
10:20:56.511135 git.c:348跟踪:内置:git'fetch'--更新头ok'
10:20:56.520316运行命令。c:343跟踪:运行命令:“ssh”git@server''git上载包'\''/vol/git/repos/repo.git'\'''
10:20:58.384437运行命令。c:343跟踪:运行命令:“rev list”“--对象”“--标准输入”“--非”“--所有”“--安静”
五年后,随着Git 2.29(2020年第4季度)的出现,情况可能会有所改善,并且使用了更多的缓冲I/O,我们过去称之为许多小型写操作(2)
参见(2020年8月12日)作者
(由年合并,2020年8月24日)
:使用缓冲I/O与版本列表对话
帮助人:Chris Torek帮助人:约翰内斯·西斯特 类似于(“
send pack
:使用缓冲I/O与包对象对话”,2016-06-08,Git v2.10.0-rc0-中列出),通过使用stdio的缓冲,显著减少了系统调用的数量,并简化了将对象ID发送到rev list的代码
注意立即处理错误以获得正确的错误代码,并在关闭流之前显式刷新缓冲区,以便捕获最后这些字节的任何写入错误