code: def test_import_complete_repo(tmp_dir, dvc, erepo_dir):
      with erepo_dir.chdir():
          erepo_dir.dvc_gen({"foo": "foo"}, commit="add foo")
  
      subrepo = erepo_dir / "subrepo"
      make_subrepo(subrepo, erepo_dir.scm)
      with subrepo.chdir():
          subrepo.dvc_gen(
              {"dir": {"bar": "bar"}}, commit="files in subrepo"
          )
  
      dvc.imp(os.fspath(erepo_dir), "subrepo", out="out_sub")
      assert (tmp_dir / "out_sub").read_text() == {
          ".gitignore": "/dir\n",
          "dir": {"bar": "bar"},
      }
  
      dvc.imp(os.fspath(erepo_dir), os.curdir, out="out")
      assert (tmp_dir / "out").read_text() == {
          ".gitignore": "/foo\n",
          "foo": "foo",
      }
  
imports: import filecmp
  import os
  import pytest
  from funcy import first
  from dvc.cachemgr import CacheManager
  from dvc.config import NoRemoteError
  from dvc.dvcfile import load_file
  from dvc.fs import system
  from dvc.scm import Git
  from dvc.stage.exceptions import StagePathNotFoundError
  from dvc.testing.tmp_dir import make_subrepo
  from dvc.utils.fs import remove
  from dvc_data.index.index import DataIndexDirError
label_desc: Use image node_id 30 for calling a global function with example usage: test_import_complete_repo(tmp_dir, dvc, erepo_dir) without return types