code: def test_pull_diverged(tmp_dir, scm, dvc, git_downstream, exp_stage):
      git_downstream.tmp_dir.scm_gen("foo", "foo", commit="init")
      remote_rev = git_downstream.tmp_dir.scm.get_rev()
  
      results = dvc.experiments.run(
          exp_stage.addressing, params=["foo=2"]
      )
      exp = first(results)
      ref_info = first(exp_refs_by_rev(scm, exp))
  
      git_downstream.tmp_dir.scm.set_ref(str(ref_info), remote_rev)
  
      downstream_exp = git_downstream.tmp_dir.dvc.experiments
      assert (
          downstream_exp.pull(git_downstream.remote, ref_info.name)
          == []
      )
      assert (
          git_downstream.tmp_dir.scm.get_ref(str(ref_info))
          == remote_rev
      )
  
      downstream_exp.pull(
          git_downstream.remote, ref_info.name, force=True
      )
      assert git_downstream.tmp_dir.scm.get_ref(str(ref_info)) == exp
  
file_path: dvc/tests/func/experiments/test_remote.py
imports: import logging
  import pytest
  from funcy import first
  from dvc.repo.experiments.utils import exp_refs_by_rev
label_desc: Use image node_id 10 for calling a global function with example usage: test_pull_diverged(tmp_dir, scm, dvc, git_downstream, exp_stage) without return types