code: def test_import_rev(tmp_dir, scm, dvc, erepo_dir):
      rev = None
      with erepo_dir.chdir(), erepo_dir.branch("branch", new=True):
          erepo_dir.dvc_gen(
              "foo", "foo content", commit="create foo on branch"
          )
          rev = erepo_dir.scm.get_rev()
  
      stage = dvc.imp(
          os.fspath(erepo_dir), "foo", "foo_imported", rev="branch"
      )
  
      assert (tmp_dir / "foo_imported").read_text() == "foo content"
      assert scm.is_ignored("foo_imported")
      assert stage.deps[0].def_repo == {
          "url": os.fspath(erepo_dir),
          "rev": "branch",
          "rev_lock": rev,
      }
  
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 10 for calling a global function with example usage: test_import_rev(tmp_dir, scm, dvc, erepo_dir) without return types