code: def _merge_remote_obj_ids(
      repo: "Repo", remote: Optional[str], used_objs: "ObjectContainer"
  ):
      # Merge default remote used objects with remote-per-output used objects
      default_obj_ids = used_objs.pop(None, set())
      remote_odb = repo.cloud.get_remote_odb(
          remote, "gc -c", hash_name="md5"
      )
      if remote_odb not in used_objs:
          used_objs[remote_odb] = set()
      used_objs[remote_odb].update(default_obj_ids)
      legacy_odb = repo.cloud.get_remote_odb(
          remote, "gc -c", hash_name="md5-dos2unix"
      )
      if legacy_odb not in used_objs:
          used_objs[legacy_odb] = set()
      used_objs[legacy_odb].update(default_obj_ids)
  
file_path: dvc/dvc/repo/gc.py
imports: from typing import TYPE_CHECKING, List, Optional
  from dvc.exceptions import InvalidArgumentError
  from dvc.log import logger
  from .None import locked
label_desc: Use image node_id 4 for calling a global function with example usage: _merge_remote_obj_ids(repo, remote, used_objs) without return types