Modify

Opened 4 years ago

Last modified 4 years ago

#8639 new defect

PyGIT._get_branches fails with ValueError on commit messages with line feeds

Reported by: Carsten Klein <carsten.klein@…> Owned by: hvr
Priority: normal Component: GitPlugin
Severity: normal Keywords:
Cc: Trac Release: 0.12

Description (last modified by rjollos)

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

Attachments (0)

Change History (1)

comment:1 Changed 4 years ago by rjollos

  • Description modified (diff)

Add Comment

Modify Ticket

Action
as new .
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.