code: def project(bench_config, monkeypatch, make_project):
      rev = bench_config.project_rev
      url = bench_config.project_git_repo
  
      if os.path.isdir(url):
          path = url
          assert not rev
      else:
          path = make_project(url, rev=rev)
  
      monkeypatch.chdir(path)
  
imports: import os
  import shutil
  from pathlib import Path
  from subprocess import check_output
  from typing import Dict, Optional
  import pytest
  from dulwich.porcelain import clone
  from funcy import first
  from packaging import version
  from dvc.types import StrPath
label_desc: Use image node_id 17 for calling a global function with example usage: project(bench_config, monkeypatch, make_project) without return types