code: def test_rerun_run_left_mutator_right(path=None):
      ds = Dataset(path).create()
      # keep direct repo accessor to speed things up
      ds_repo = ds.repo
      ds_repo.checkout(DEFAULT_BRANCH, options=["-b", "side"])
      ds.run("echo ichange >>ichange")
      ds_repo.checkout(DEFAULT_BRANCH)
      ds.run("echo idont >idont")
      ds_repo.merge("side", options=["-m", "Merge side"])
      # o                 d_n
      # |\
      # o |               c_r
      # | o               b_r
      # |/
      # o                 a_n
  
      hexsha_before = ds_repo.get_hexsha()
      ds.rerun(since="")
      # o                 b_R
      # o                 d_n
      # |\
      # o |               c_r
      # | o               b_r
      # |/
      # o                 a_n
      eq_(
          ds_repo.get_hexsha(hexsha_before),
          ds_repo.get_hexsha(DEFAULT_BRANCH + "^"),
      )
  
file_path: datalad/datalad/local/tests/test_rerun_merges.py
imports: import os.path
  from datalad.distribution.dataset import Dataset
  from datalad.tests.utils_pytest import DEFAULT_BRANCH, assert_false, eq_, neq_, ok_, skip_if_adjusted_branch, slow, with_tempfile
label_desc: Use image node_id 4 for calling a global function with example usage: test_rerun_run_left_mutator_right(path) without return types