看似随机,我们的本地回购无法再从我们的Bonobo服务器获取。当我们尝试在本地获取时,它会发生在我们最大的远程仓库(大约4GB)给不同的人和不同的时间。起初它只是每隔几个月,但现在它的频率在增加,并且在今天的同一时间发生在很多当地的回购。现在我们通过移动一个工作.git
文件夹来解决它。
它会快速打印一些POST git-upload-pack (gzip X to Y bytes)
,然后挂起半小时到一个小时。
如果我从对象dir中删除了一个包文件,它会抱怨丢失的内容然后开始正确获取,但仅限于git-upload-pack
。
我以各种方式尝试repack
和gc
无效。我尝试将服务器和客户端上的git从1.8.4升级到1.9。
clone
有同样的问题,但升级Bonobo解决了这个问题,即使它是相同版本的git。昨天一个新近克隆的回购工作正在进行,但今天它有同样的问题。
有趣的是,我们有很多dll和pdb。它已经使用了一年,并使用git-svn从SVN回购中导入。
这是追踪
$ GIT_TRACE=1 git fetch -v
trace: built-in: git 'fetch' '-v'
trace: run_command: 'git-remote-https' 'origin' 'https://xxx
/yyy.git'
trace: run_command: '"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore
/git-credential-winstore.exe" get'
trace: run_command: '"C:/Program Files (x86)/GitExtensions/GitCredentialWinStore
/git-credential-winstore.exe" store'
trace: run_command: 'rev-list' '--objects' '--stdin' '--not' '--all' '--quiet'
trace: run_command: 'fetch-pack' '--stateless-rpc' '--stdin' '--lock-pack' '--in
clude-tag' '--thin' 'https://xxx/yyy.git/'
trace: built-in: git 'fetch-pack' '--stateless-rpc' '--stdin' '--lock-pack' '--i
nclude-tag' '--thin' 'https://xxx/yyy.git/'
POST git-upload-pack (gzip 2057 to 1096 bytes)
POST git-upload-pack (gzip 2307 to 1222 bytes)
POST git-upload-pack (gzip 3657 to 1914 bytes)
POST git-upload-pack (gzip 6207 to 3192 bytes)
POST git-upload-pack (gzip 12607 to 6374 bytes)
谷歌搜索显示有些人遇到了这个问题,但没有提到(升级倭黑猩猩等)。
答案 0 :(得分:5)
git在内部使用curl,因此请使用以下配置设置进行调试:
客户端配置:
git config --global http.postBuffer 524288000
客户端环境变量:
服务器配置:
<requestLimits maxAllowedContentLength=
中增加>
[所需尺寸] web.config
;大小可能是1073741824 <httpRuntime maxRequestLength=
中增加>
[所需尺寸] web.config
;尝试值1024000 此外,以下设置可以自动中止慢速传输:
如果HTTP传输速度小于GIT_HTTP_LOW_SPEED_LIMIT的时间超过GIT_HTTP_LOW_SPEED_TIME,则传输将中止。
<强>参考强>
答案 1 :(得分:1)
我知道这是一个古老的问题,但是我遇到了类似的问题,并想分享自己的经验。我从不真正了解原因,但是在更新到最新的Git(在服务器上-即使bonobo附带了自己的版本)之后,检查了权限,诸如git fsck
的命令升级了Bonobo甚至添加了大量的额外日志记录代码,这就是我的工作。
Bo黑猩猩在服务器上创建了一个裸仓库,我可以成功地从服务器上直接克隆它,并可以获取/拉取等。这促使我尝试复制该仓库并替换为副本。因此,在一个临时文件夹中:
git clone [path_to_Bonobo repo] temp_repo
然后将Bonobo git repo从存储库根文件夹移出,进入Bonobo根文件夹,然后:
git clone --mirror [path_to_temp_repo] [original_repo_name]
我也做了:
git fetch --prune
git push --prune [path_to_temp_repo] +refs/remotes/origin/*:refs/heads/* +refs/tags/*:refs/tags/*
此后,Bo黑猩猩开始高兴地再次获取拉力和推力。
答案 2 :(得分:0)
在我的情况下,我在git-upload-pack
的位桶式服务器上挂起了这个挂起。原来的问题是:我的ssh密钥上有一个密码短语,并且由于某种原因,没有任何提示出现。
删除密码短语可以解决此问题。
我只是发布此内容,以防它帮助另一个灵魂。