Opened 13 years ago

Last modified 9 years ago

#8639 closed defect

PyGIT._get_branches fails with ValueError on commit messages with line feeds — at Initial Version

Reported by: Carsten Klein Owned by: Herbert Valerio Riedel
Priority: normal Component: GitPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description

I have a commit here that includes a subject line that includes M characters. This will cause get_branches to fail when trying to unpack the malformed lines resulting from splitting on linefeed boundary.

Here is a proposed fast solution that will replace all M characters so that retrieving the branch information does not fail

    def _get_branches(self):
        "returns list of (local) branches, with active (= HEAD) one being the first item"

        result = []
        for e in self.repo.branch("-v", "--no-abbrev").replace('\r', '/CTRL-R').splitlines():
            bname, bsha = e[1:].strip().split()[:2]
            if e.startswith('*'):
                result.insert(0, (bname, bsha))
            else:
                result.append((bname, bsha))

        return result

Change History (0)

Note: See TracTickets for help on using tickets.