docs: def tx_tmpdir(base_dir, rollback_dirpath):
      """Context manager to create and remove a transactional temporary directory.
      """
      # tmp_dir_base = join(base_dir, 'tx', str(uuid.uuid4()))
      # unique_attempts = 0
      # while os.path.exists(tmp_dir_base):
      #     if unique_attempts > 5:
      #         break
      #     tmp_dir_base = join(base_dir, 'tx', str(uuid.uuid4()))
      #     time.sleep(1)
      #     unique_attempts += 1
  
      # if base_dir is not None:
      #     tmp_dir_base = os.path.join(base_dir, "tx")
      # else:
      #     tmp_dir_base = os.path.join(os.getcwd(), "tx")
      if exists(rollback_dirpath):
          critical(rollback_dirpath + ' already exists')
  
      tmp_dir = tempfile.mkdtemp(dir=base_dir)
      safe_mkdir(tmp_dir)
      try:
          yield tmp_dir
      finally:
          if tmp_dir and exists(tmp_dir):
              os.rename(tmp_dir, rollback_dirpath)