code: def _transfer_data(
      repo,
      ds,
      target,
      content,
      data,
      force,
      jobs,
      res_kwargs,
      got_path_arg,
  ):
      yield from _push_data(
          ds,
          target,
          content,
          data,
          force,
          jobs,
          res_kwargs.copy(),
          got_path_arg=got_path_arg,
      )
  
imports: from itertools import chain
  import logging
  import re
  from datalad.interface.base import Interface, build_doc, eval_results
  from datalad.interface.common_opts import jobs_opt, recursion_limit, recursion_flag
  from datalad.interface.utils import render_action_summary
  from datalad.interface.results import annexjson2result
  from datalad.log import log_progress
  from datalad.support.annexrepo import AnnexRepo
  from datalad.support.gitrepo import GitRepo
  from datalad.support.param import Parameter
  from datalad.support.constraints import EnsureStr, EnsureNone, EnsureChoice
  from datalad.support.exceptions import CommandError
  from datalad.utils import Path, ensure_list, todo_interface_for_extensions
  from datalad.distribution.dataset import Dataset, EnsureDataset, datasetmethod, require_dataset, resolve_path
  from datalad.core.local.diff import diff_dataset
label_desc: Use image node_id 2 for calling a global function with example usage: _transfer_data(repo, ds, target, content, data, force, jobs, res_kwargs, got_path_arg) without return types