code: def _plain_merge(repo, _, target, opts=None):
      yield _try_command(
          {"action": "merge", "message": ("Merged %s", target)},
          repo.merge,
          name=target,
          options=opts,
          expect_fail=True,
          expect_stderr=True,
      )
  
imports: import logging
  from os.path import lexists
  import itertools
  from datalad.interface.base import Interface
  from datalad.interface.base import build_doc, eval_results
  from datalad.interface.results import get_status_dict, YieldDatasets
  from datalad.support.constraints import EnsureBool, EnsureChoice, EnsureStr, EnsureNone
  from datalad.support.annexrepo import AnnexRepo
  from datalad.support.exceptions import CapturedException, CommandError
  from datalad.support.param import Parameter
  from datalad.interface.common_opts import recursion_flag, recursion_limit
  from datalad.distribution.dataset import require_dataset
  from .dataset import EnsureDataset, datasetmethod
label_desc: Use image node_id 6 for calling a global function with example usage: _plain_merge(repo, _, target, opts) without return types