code: def _parse_object_header(self, header_line):
          
          tokens = header_line.split()
          if len(tokens) != 3:
              if not tokens:
                  raise ValueError("SHA could not be resolved, git returned: %r" % (header_line.strip()))
              else:
                  raise ValueError("SHA %s could not be resolved, git returned: %r" % (tokens[0], header_line.strip()))
              # END handle actual return value
          # END error handling
  
          if len(tokens[0]) != 40:
              raise ValueError("Failed to parse header: %r" % header_line)
          return (tokens[0], tokens[1], int(tokens[2]))
docs: :param header_line:
              <hex_sha> type_string size_as_int
  
          :return: (hex_sha, type_string, size_as_int)
  
          :raise ValueError: if the header contains indication for an error due to
              incorrect input sha