code: def _annex_plain_merge(repo, _, target, opts=None):
      yield from _plain_merge(repo, _, target, opts=opts)
      # Note: Avoid repo.merge_annex() so we don't needlessly create synced/
      # branches.
      yield _try_command(
          {
              "action": "update.annex_merge",
              "message": "Merged annex branch",
          },
          repo.call_annex,
          ["merge"],
      )
  
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 7 for calling a global function with example usage: _annex_plain_merge(repo, _, target, opts) without return types