Closed junwchina closed 2 years ago
使用 git pr -vv
能够复现,应该是 git-lfs 在 SSH 协议认证和推送上的问题。我们团队开发 git-lfs 服务端特性的同学会帮助看下。
$ GIT_TRACE=1 GIT_TRACE_PACKET=1 git pr -vv
...
09:08:09.111199 git.c:742 trace: exec: git-lfs pre-push ssh git@codeup.aliyun.com:gotgit/gotgit/git-lfs-test.git
09:08:09.111894 run-command.c:668 trace: run_command: git-lfs pre-push ssh git@codeup.aliyun.com:gotgit/gotgit/git-lfs-test.git
09:08:09.125115 trace git-lfs: exec: git 'version'
09:08:09.148006 trace git-lfs: exec: git '-c' 'filter.lfs.smudge=' '-c' 'filter.lfs.clean=' '-c' 'filter.lfs.process=' '-c' 'filter.lfs.required=false' 'rev-parse' 'HEAD' '--symbolic-full-name' 'HEAD'
09:08:09.163391 trace git-lfs: exec: git 'config' '-l'
09:08:09.171766 trace git-lfs: pre-push: refs/heads/jx/ssh-protocol 77adac519753891c0c3d7bffe4ff72ec90dcbcab refs/for/master/jx/ssh-protocol 0000000000000000000000000000000000000000
09:08:09.948407 trace git-lfs: tq: running as batched queue, batch size of 100
09:08:09.948642 trace git-lfs: run_command: git rev-list --objects --ignore-missing --not --remotes=ssh --stdin --
09:08:09.960441 trace git-lfs: tq: sending batch of size 1
09:08:09.960687 trace git-lfs: run_command: sh -c ssh -o SendEnv=AGIT_FLOW -- git@codeup.aliyun.com 'git-lfs-authenticate gotgit/gotgit/git-lfs-test.git upload'
09:08:10.567195 trace git-lfs: ssh: git@codeup.aliyun.com failed, error: invalid character '0' after top-level value, message: (try: 0/6)
09:08:10.567336 trace git-lfs: run_command: sh -c ssh -o SendEnv=AGIT_FLOW -- git@codeup.aliyun.com 'git-lfs-authenticate gotgit/gotgit/git-lfs-test.git upload'
09:08:11.339378 trace git-lfs: ssh: git@codeup.aliyun.com failed, error: invalid character '0' after top-level value, message: (try: 1/6)
09:08:11.339472 trace git-lfs: run_command: sh -c ssh -o SendEnv=AGIT_FLOW -- git@codeup.aliyun.com 'git-lfs-authenticate gotgit/gotgit/git-lfs-test.git upload'
09:08:12.267201 trace git-lfs: ssh: git@codeup.aliyun.com failed, error: invalid character '0' after top-level value, message: (try: 2/6)
09:08:12.267309 trace git-lfs: run_command: sh -c ssh -o SendEnv=AGIT_FLOW -- git@codeup.aliyun.com 'git-lfs-authenticate gotgit/gotgit/git-lfs-test.git upload'
09:08:13.059273 trace git-lfs: ssh: git@codeup.aliyun.com failed, error: invalid character '0' after top-level value, message: (try: 3/6)
09:08:13.059384 trace git-lfs: run_command: sh -c ssh -o SendEnv=AGIT_FLOW -- git@codeup.aliyun.com 'git-lfs-authenticate gotgit/gotgit/git-lfs-test.git upload'
09:08:13.714400 trace git-lfs: ssh: git@codeup.aliyun.com failed, error: invalid character '0' after top-level value, message: (try: 4/6)
09:08:13.714468 trace git-lfs: run_command: sh -c ssh -o SendEnv=AGIT_FLOW -- git@codeup.aliyun.com 'git-lfs-authenticate gotgit/gotgit/git-lfs-test.git upload'
09:08:14.405591 trace git-lfs: ssh: git@codeup.aliyun.com failed, error: invalid character '0' after top-level value, message: (try: 5/6)
batch request: invalid character '0' after top-level value
Uploading LFS objects: 0% (0/1), 0 B | 0 B/s, done.
error: failed to push some refs to 'codeup.aliyun.com:gotgit/gotgit/git-lfs-test.git'
09:08:14.408263 pkt-line.c:80 packet: push> 0000
服务端ssh解析AGIT_FLOW环境变量时有bug,测试后会在下周发布窗口发布,在这之前请使用 http 协议
经验证昨天的发布已经解决此问题。感谢 @junwchina 的报告。
➜ git-repo-lfs-test git:(master) git pr Uploading LFS objects: 0% (0/1), 0 B | 0 B/s, done.
batch request: invalid character '0' after top-level value error: failed to push some refs to 'codeup.aliyun.com:606bafcd32fceefde379cc0e/git-repo-lfs-test.git'
[FAILED] ./ master (upload failed: exit status 1)
如果是https协议就可以正常pr。