def METHOD_NAME(
    self,
    repos,
    sid,
    branch=None,
    revision=None,
    transaction=None,
    allow_popen_err=False,
):
    """Load info file from branch_path in repos @revision.
    Returns a ConfigNode for the "rose-suite.info" of a suite at a
    particular revision or transaction.
    Args:
        repos (str): The path of the repository.
        sid (str): The Rosie suite unique identifier, e.g. "ay327".
        branch (str): The branch that the info file is under.
        revision (int, str): A commit revision number. Cannot be used with
            transaction.
        transaction (str): A commit transaction identifer. Cannot be used
            with revision.
        allow_popen_err (bool): If True, return None if a RosePopenError
            occurs during svnlook command.
    """
    if not branch:
        branch = self.TRUNK
    commit_opts = []
    if transaction is not None:
        if revision is not None:
            raise ValueError(
                f"Cannot load transaction {transaction} and "
                f"revision {revision} at the same time"
            )
        commit_opts = ["-t", transaction]
    if revision is not None:
        commit_opts = ["-r", str(revision)]
    info_file_path = os.path.join("/".join(sid), branch, self.INFO_FILE)
    t_handle = TemporaryFile()
    try:
        t_handle.write(
            self._svnlook(
                "cat", repos, info_file_path, *commit_opts
            ).encode()
        )
    except UnicodeDecodeError as err:
        raise ConfigDecodeError(info_file_path, err)
    except RosePopenError as err:
        if allow_popen_err:
            return None
        raise err
    t_handle.seek(0)
    config_node = ConfigLoader(allow_sections=False).load(t_handle)
    t_handle.close()
    return config_node