Skip to content

not enough lines in _set_cache method #842

Closed
@ret2libc

Description

@ret2libc

There is a list index out of range when printing the tag message of systemd repository

Reproducer:
clone systemd repository with `git clone https://github.com/systemd/systemd.git'

from git import Repo
r = Repo('./systemd')
t = r.tags['060']
if t.tag is not None:
    print(t.tag.message)
IndexError                                Traceback (most recent call last)
<ipython-input-15-462f7dbfed04> in <module>()
----> 1 t.tag.message

/usr/lib/python3.7/site-packages/gitdb/util.py in __getattr__(self, attr)
    254         to be created and set. Next time the same attribute is reqeusted, it is simply
    255         returned from our dict/slots. """
--> 256         self._set_cache_(attr)
    257         # will raise in case the cache was not created
    258         return object.__getattribute__(self, attr)

/usr/lib/python3.7/site-packages/git/objects/tag.py in _set_cache_(self, attr)
     60             self.tag = lines[2][4:]  # tag <tag name>
     61 
---> 62             tagger_info = lines[3]  # tagger <actor> <date>
     63             self.tagger, self.tagged_date, self.tagger_tz_offset = parse_actor_and_date(tagger_info)
     64 

IndexError: list index out of range

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions