code: def get_diff(repo, base_commit, commits):
      """
      Get's the diff between one or several commits and the head of the repository.
      """
      print("\n### DIFF ###\n")
      code_diff = []
      for commit in commits:
          for diff_obj in commit.diff(base_commit):
              # We always add new python files
              if (
                  diff_obj.change_type == "A"
                  and diff_obj.b_path.endswith(".py")
              ):
                  code_diff.append(diff_obj.b_path)
              # We check that deleted python files won't break corresponding tests.
              elif (
                  diff_obj.change_type == "D"
                  and diff_obj.a_path.endswith(".py")
              ):
                  code_diff.append(diff_obj.a_path)
              # Now for modified files
              elif diff_obj.change_type in [
                  "M",
                  "R",
              ] and diff_obj.b_path.endswith(".py"):
                  # In case of renames, we'll look at the tests using both the old and new name.
                  if diff_obj.a_path != diff_obj.b_path:
                      code_diff.extend(
                          [diff_obj.a_path, diff_obj.b_path]
                      )
                  else:
                      # Otherwise, we check modifications are in code and not docstrings.
                      if diff_is_docstring_only(
                          repo, commit, diff_obj.b_path
                      ):
                          print(
                              f"Ignoring diff in {diff_obj.b_path} as it only concerns docstrings or comments."
                          )
                      else:
                          code_diff.append(diff_obj.a_path)
  
      return code_diff
  
imports: import argparse
  import collections
  import json
  import os
  import re
  from contextlib import contextmanager
  from pathlib import Path
  from git import Repo
label_desc: Use image node_id 6 for calling a global function with example usage: get_diff(repo, base_commit, commits) and returns: code_diff