code: def test_checkout_partial_subdir(tmp_dir, dvc):
      tmp_dir.dvc_gen(
          {
              "data": {
                  "foo": "foo",
                  "sub_dir": {"bar": "bar", "baz": "baz"},
              }
          }
      )
  
      data_dir = tmp_dir / "data"
      sub_dir = data_dir / "sub_dir"
      sub_dir_bar = sub_dir / "baz"
  
      shutil.rmtree(sub_dir)
      dvc.checkout(str(sub_dir))
      assert data_dir.read_text() == {
          "foo": "foo",
          "sub_dir": {"bar": "bar", "baz": "baz"},
      }
  
      sub_dir_bar.unlink()
      dvc.checkout(str(sub_dir_bar))
      assert data_dir.read_text() == {
          "foo": "foo",
          "sub_dir": {"bar": "bar", "baz": "baz"},
      }
  
imports: import logging
  import os
  import shutil
  import stat
  import textwrap
  import pytest
  from dvc.cli import main
  from dvc.dvcfile import PROJECT_FILE, load_file
  from dvc.exceptions import CheckoutError, CheckoutErrorSuggestGit, NoOutputOrStageError
  from dvc.fs import system
  from dvc.stage.exceptions import StageFileDoesNotExistError
  from dvc.utils import relpath
  from dvc.utils.fs import remove
  from tests.utils import get_gitignore_content
label_desc: Use image node_id 37 for calling a global function with example usage: test_checkout_partial_subdir(tmp_dir, dvc) without return types