# Blame

Contents

- Blame
  - The Blame type
  - The BlameHunk type
  - Constants

`Repository.``blame`(path, flags=None, min_match_characters=None, newest_commit=None, oldest_commit=None, min_line=None, max_line=None)

  Return a Blame object for a single file.

  Parameters:

  path
    Path to the file to blame.
  flags
    A GIT_BLAME_* constant.
  min_match_characters
    The number of alphanum chars that must be detected as moving/copying within a file for it to associate those lines with the parent commit.
  newest_commit
    The id of the newest commit to consider.
  oldest_commit
    The id of the oldest commit to consider.
  min_line
    The first line in the file to blame.
  max_line
    The last line in the file to blame.

  Examples:

      repo.blame('foo.c', flags=GIT_BLAME_TRACK_COPIES_SAME_FILE)

## The Blame type

`Blame.``for_line`(line_no)

  Returns the <BlameHunk> object for a given line given its number in the current Blame.

  Parameters:

  line_no
    Line number, starts at 1.

`Blame.``__iter__`()

`Blame.``__len__`()

`Blame.``__getitem__`(n)

## The BlameHunk type

Attributes:

`BlameHunk.``lines_in_hunk`

  Number of lines

`BlameHunk.``final_commit_id`

`BlameHunk.``final_start_line_number`

  Final start line number

`BlameHunk.``orig_commit_id`

`BlameHunk.``orig_path`

  Original path

`BlameHunk.``orig_start_line_number`

  Origin start line number

`BlameHunk.``boundary`

  Tracked to a boundary commit

Getters:

`BlameHunk.``final_committer`

  Final committer

`BlameHunk.``orig_committer`

  Original committer

## Constants

`GIT_BLAME_NORMAL`

`GIT_BLAME_TRACK_COPIES_SAME_FILE`

`GIT_BLAME_TRACK_COPIES_SAME_COMMIT_MOVES`

`GIT_BLAME_TRACK_COPIES_SAME_COMMIT_COPIES`

`GIT_BLAME_TRACK_COPIES_ANY_COMMIT_COPIES`