code: def create_new(path, base_version, new_version):
      if os.path.exists(path):
          raise ValueError(
              "Attempted to create a new commitlist but one exists already!"
          )
      commits = CommitList.get_commits_between(
          base_version, new_version
      )
      return CommitList(path, commits)
  
imports: import argparse
  import csv
  import dataclasses
  import os
  import pprint
  import re
  from collections import defaultdict
  from pathlib import Path
  from typing import List
  import common
  from common import features_to_dict, frontend_categories, get_commit_data_cache, get_features, run, topics
label_desc: Use image node_id 3 for calling the CommitList obj's underlying member method code with example usage: obj.create_new(path, base_version, new_version) and returns: CommitList