code: def test_run_overwrite_preserves_meta_and_comment(
      tmp_dir, dvc, run_copy
  ):
      tmp_dir.gen({"foo": "foo", "foo1": "foo1"})
      text = textwrap.dedent(
          """\
          stages:
            copy-foo-bar:
              cmd: python copy.py {src} {dest}
              deps:
              - copy.py
              - {src}
              outs:
              # comments are preserved
              - {dest}
              meta:
                name: meta is preserved too
      """
      )
      (tmp_dir / PROJECT_FILE).write_text(
          text.format(src="foo", dest="bar")
      )
      assert dvc.reproduce(PROJECT_FILE)
  
      assert run_copy("foo1", "bar1", name="copy-foo-bar", force=True)
  
      assert (tmp_dir / PROJECT_FILE).read_text() == text.format(
          src="foo1", dest="bar1"
      )
  
imports: import logging
  import os
  import textwrap
  import uuid
  import pytest
  from funcy import get_in
  from dvc.cli import main
  from dvc.dependency import ParamsDependency
  from dvc.dependency.base import DependencyDoesNotExistError
  from dvc.dvcfile import LOCK_FILE, PROJECT_FILE, load_file
  from dvc.exceptions import ArgumentDuplicationError, CircularDependencyError, CyclicGraphError, InvalidArgumentError, OutputDuplicationError, OverlappingOutputPathsError
  from dvc.stage import PipelineStage
  from dvc.stage.exceptions import DuplicateStageName, InvalidStageName, StagePathNotDirectoryError, StagePathNotFoundError, StagePathOutsideError
  from dvc.utils.serialize import load_yaml
label_desc: Use image node_id 20 for calling a global function with example usage: test_run_overwrite_preserves_meta_and_comment(tmp_dir, dvc, run_copy) without return types