Skip to content

Assert fails in GitPython 0.3.5 comparing FETCH_HEAD and branches actually fetched #232

Closed
@domino14

Description

@domino14

Stack trace:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/fabric/main.py", line 743, in main
    *args, **kwargs
  File "/usr/local/lib/python2.7/site-packages/fabric/tasks.py", line 424, in execute
    results['<local-only>'] = task.run(*args, **new_kwargs)
  File "/usr/local/lib/python2.7/site-packages/fabric/tasks.py", line 174, in run
    return self.wrapped(*args, **kwargs)
  File "/var/lib/abc/ramble/venom/fabfile.py", line 286, in deploy_celery
    prepare_deploy(settings, branch_name=branch_name)
  File "/var/lib/abc/ramble/venom/fabfile.py", line 195, in prepare_deploy
    repo_install_path=install_path)
  File "/var/lib/abc/ramble/ramble/utils/git_util.py", line 31, in set_deploy_context
    remote.fetch()
  File "/usr/local/lib/python2.7/site-packages/git/remote.py", line 613, in fetch
    res = self._get_fetch_info_from_stderr(proc, progress or RemoteProgress())
  File "/usr/local/lib/python2.7/site-packages/git/remote.py", line 552, in _get_fetch_info_from_stderr
    fetch_info_lines)
AssertionError: len(....) <= len (...) (elided for length)

I wrote a script to parse the two things that it is trying to compare, from the assert output. FETCH_HEAD right now has 813 lines. The output of git fetch, when I run it manually on the command line (I have not been able to figure out exactly what command it is running, but I'm assuming it's git fetch --all -v - is this correct?) has also 813 lines if you ignore the first two lines: Fetching origin and From github.com:org/repo

However, the very last 4 branches in FETCH_HEAD are missing in the GitPython fetch output, the last of which is this line:

a3a81646dd65dfa4b4412c0f3a5fd4183cbaa2e5 not-for-merge branch 'zendesk' of github.com:org/repo

It can't find the matching line in the fetch output (or for the previous 3):

= [up to date] zendesk -> origin/zendesk

Even though I see the above lines when I do git fetch --all -v, I don't see the last 4 lines in the GitPython assert output. Let me know if you need more info. Is there possibly some length limit? I'm using git 1.8.3.4.

BTW I was using GitPython==0.3.2.RC1 prior to this and it was still failing an assertion, although I'm not sure the assertion was exactly the same.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions