'Handle a packet.
:raise GitProtocolError: Raised when packets are received after a
flush packet.'

def handle_packet(self, pkt):

    if self._done:
        raise GitProtocolError('received    more    data    after    status    report')
    if (pkt is None):
        self._done = True
        return
    if (self._pack_status is None):
        self._pack_status = pkt.strip()
    else:
        ref_status = pkt.strip()
        self._ref_statuses.append(ref_status)
        if (not ref_status.startswith('ok    ')):
            self._ref_status_ok = False
