frostming / legit

Git for Humans, Inspired by GitHub for Mac™.
https://frostming.github.io/legit
BSD 3-Clause "New" or "Revised" License
5.7k stars 218 forks source link

"git branches" raised an error on Windows (Anaconda Python) #228

Closed volf52 closed 6 years ago

volf52 commented 6 years ago

I am using Python 2.7.14 :: Anaconda custom (64-bit) , git version 2.15.1.windows.2 and pip show legit return Name: legit Version: 0.4.1 Summary: Git for Humans. Home-page: https://github.com/kennethreitz/legit Author: Kenneth Reitz Author-email: me@kennethreitz.com License: BSD Location: k:\anaconda2\lib\site-packages Requires: packaging, smmap2, six, GitPython, appdirs, clint, pyparsing, gitdb2, args

The command git branches returned the following error for one of my repos.

Traceback (most recent call last): File "k:\anaconda2\lib\runpy.py", line 174, in _run_module_as_main "main", fname, loader, pkg_name) File "k:\anaconda2\lib\runpy.py", line 72, in _run_code exec code in run_globals File "K:\Anaconda2\Scripts\legit.exe__main.py", line 9, in File "k:\anaconda2\lib\site-packages\legit\cli.py", line 48, in main command.call(args) File "k:\anaconda2\lib\site-packages\legit\cli.py", line 502, in call__ return self.fn(*args, *kw_args) File "k:\anaconda2\lib\site-packages\legit\cli.py", line 286, in cmd_branches display_available_branches() File "k:\anaconda2\lib\site-packages\legit\cli.py", line 369, in display_available_branches branches = get_branches() File "k:\anaconda2\lib\site-packages\legit\scm.py", line 265, in get_branches for b in remote.refs: File "k:\anaconda2\lib\site-packages\git\remote.py", line 527, in refs out_refs.extend(RemoteReference.list_items(self.repo, remote=self.name)) File "k:\anaconda2\lib\site-packages\git\util.py", line 932, in list_items out_list.extend(cls.iter_items(repo, args, **kwargs)) File "k:\anaconda2\lib\site-packages\git\refs\symbolic.py", line 592, in _iter_items for sha, rela_path in cls._iter_packed_refs(repo): # @UnusedVariable File "k:\anaconda2\lib\site-packages\git\refs\symbolic.py", line 92, in _iter_packed_refs raise TypeError("PackingType of packed-Refs not understood: %r" % line) TypeError: PackingType of packed-Refs not understood: '# pack-refs with: peeled fully-peeled sorted'

Is any more information required?

kennell commented 6 years ago

I am seeing the same error on OSX High Sierra:

k@mpb ~/code/backend git --version
git version 2.16.1
k@mpb ~/code/backend legit --version
legit v0.4.1
 k@mpb ~/code/backend git branches
Traceback (most recent call last):
  File "/usr/local/bin/legit", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/site-packages/legit/cli.py", line 48, in main
    command.__call__(args)
  File "/usr/local/lib/python3.6/site-packages/legit/cli.py", line 502, in __call__
    return self.fn(*args, **kw_args)
  File "/usr/local/lib/python3.6/site-packages/legit/cli.py", line 286, in cmd_branches
    display_available_branches()
  File "/usr/local/lib/python3.6/site-packages/legit/cli.py", line 369, in display_available_branches
    branches = get_branches()
  File "/usr/local/lib/python3.6/site-packages/legit/scm.py", line 265, in get_branches
    for b in remote.refs:
  File "/usr/local/lib/python3.6/site-packages/git/remote.py", line 527, in refs
    out_refs.extend(RemoteReference.list_items(self.repo, remote=self.name))
  File "/usr/local/lib/python3.6/site-packages/git/util.py", line 932, in list_items
    out_list.extend(cls.iter_items(repo, *args, **kwargs))
  File "/usr/local/lib/python3.6/site-packages/git/refs/symbolic.py", line 592, in _iter_items
    for sha, rela_path in cls._iter_packed_refs(repo):  # @UnusedVariable
  File "/usr/local/lib/python3.6/site-packages/git/refs/symbolic.py", line 92, in _iter_packed_refs
    raise TypeError("PackingType of packed-Refs not understood: %r" % line)
TypeError: PackingType of packed-Refs not understood: '# pack-refs with: peeled fully-peeled sorted'
weakish commented 6 years ago

duplicated by #225

@volf52 @kennell Until a new release publishes to pypi, you have to install legit from the git repository (branch develop, see README for instructions, basically just clone the repo and install via setup.py) or roll back to an old version of git.