Thanks to visit codestin.com
Credit goes to github.com

Skip to content

The git push command hangs after upgrade to LFS v1.2.0 #1520

Description

@sarxos

Hi,

We found a problem which does not appear on v1.1.1 but can be reproduced after upgrade to v1.2.0. The problem is that git push hangs when trying to push changes to Gerrit.

Our test stack consists of the following:

  • Server:
  • Client:
    • Ubuntu 14.04,
    • Git (tested with v1.9.1 and v2.10.0),
    • Git LFS (tested with v1.1.1, v1.2.0 and v1.4.1).

Working setting (LFS v1.1.1):

$ sudo apt-get install git-lfs=1.1.1

But when switched to LFS v1.2.0 (or newer) the git push hangs:

$ sudo apt-get remove git-lfs
$ sudo apt-get install git-lfs=1.2.0

The .git/config:

[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
[remote "origin"]
        url = ssh://admin@localhost:29418/swim
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
        remote = origin
        merge = refs/heads/master
[lfs]
        url = http://admin:[email protected]:9999

The .gitattributes:

*.psd filter=lfs diff=lfs merge=lfs -text

Output from git push:

$ GIT_TRACE=1 git push origin HEAD:refs/for/master
trace: built-in: git 'push' 'origin' 'HEAD:refs/for/master'
trace: run_command: 'ssh' '-p' '29418' 'admin@localhost' 'git-receive-pack '\''/swim'\'''
trace: run_command: '.git/hooks/pre-push' 'origin' 'ssh://admin@localhost:29418/swim'
trace: exec: 'git-lfs' 'pre-push' 'origin' 'ssh://admin@localhost:29418/swim'
trace: run_command: 'git-lfs' 'pre-push' 'origin' 'ssh://admin@localhost:29418/swim'

The output from ps -ef | grep -i git:

$ ps -ef | grep -i git
sarxos    8107  8075  4 14:43 ?        00:03:25 /usr/lib/virtualbox/VirtualBox --comment GIT_SVN --startvm de1fb427-6afa-40db-ae20-2839fb0294f8 --no-startvm-errormsgbox
sarxos   10735  9773  0 15:53 pts/25   00:00:00 git push origin HEAD:refs/for/master
sarxos   10736 10735  0 15:53 pts/25   00:00:00 ssh -p 29418 admin@localhost git-receive-pack '/swim'
sarxos   10738 10735  0 15:53 pts/25   00:00:00 /bin/sh .git/hooks/pre-push origin ssh://admin@localhost:29418/swim
sarxos   10739 10738  0 15:53 pts/25   00:00:00 git lfs pre-push origin ssh://admin@localhost:29418/swim
sarxos   10740 10739  0 15:53 pts/25   00:00:00 git-lfs pre-push origin ssh://admin@localhost:29418/swim
sarxos   10749 10740  0 15:53 pts/25   00:00:00 [git] <defunct>
sarxos   10750 10740  0 15:53 pts/25   00:00:00 git ls-remote --heads --tags -q origin
sarxos   10751 10750  0 15:53 pts/25   00:00:00 ssh -p 29418 admin@localhost git-upload-pack '/swim'
sarxos   10873 10826  0 16:03 pts/26   00:00:00 grep --color=auto -i git

However, if I do the same without git-lfs configured for this repo, everything works as expected. When I downgrade to LFS v1.1.1, everything works as expected as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions