def merge_repository_changeset_revisions(repository_list):
    """
    Each installed changeset revision of a tool is listed individually.
    Merge revisions of the same tool into a list.
    """
    repositories = {}
    repo_key_template = "{tool_shed_url}|{name}|{owner}|{tool_panel_section_id}|{tool_panel_section_label}"
    for repo in repository_list:
        repo_key = repo_key_template.format(**repo)
        if repo_key in repositories:
            repositories[repo_key].extend(repo['revisions'])
        else:
            repositories[repo_key] = repo['revisions']
    new_repository_list = []
    for repo_key, changeset_revisions in repositories.items():
        changeset_revisions = list(set(changeset_revisions))
        tool_shed_url, name, owner, tool_panel_section_id, tool_panel_section_label = repo_key.split('|')
        new_repository_list.append(
            {'tool_shed_url': tool_shed_url,
             'name': name,
             'owner': owner,
             'tool_panel_section_id': tool_panel_section_id,
             'tool_panel_section_label': tool_panel_section_label,
             'revisions': changeset_revisions}
        )
    return new_repository_list