# Supporting SCM providers

The SonarScanners use information from the project’s SCM provider, if available, to:

* Assign a new issue to the person who introduced it. The last committer on the related line of code is considered to be the author of the issue.
* Estimate the coverage on new code, including added and changed code since in your new code.
* Display the most recent commit on each line in the code viewer.

<figure><img src="https://3577027091-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F69lEOGGgOhCpumODGD9v%2Fuploads%2Fgit-blob-684502976c46262d850aceb9870cc3f2cf8dfc59%2F9801c7fc496d5d2181ecff3ec24703b0685513dd.png?alt=media" alt="Exempt a block of Python code from coverage"><figcaption><p>Exempt a block of Python code from coverage</p></figcaption></figure>

Exempt a block of Python code from coverage

The only required SCM command is "blame", which gets the last committer of each line for a given file. This command is executed by a SonarQube Server plugin through the extension point `org.sonar.api.batch.scm.ScmProvider`. See the embedded [scm-integration](https://docs.sonarsource.com/sonarqube-server/2025.2/analyzing-source-code/scm-integration "mention") documentation for more details.
