'Make sure the repository defined by name and changeset_revision and all of its repository dependencies have
associated tool_shed_repository table rows in the Galaxy database.'

def create_or_update_tool_shed_repository_records(self, name, changeset_revision, repository_dependencies_dict):

    created_tool_shed_repositories = []
    description = repository_dependencies_dict.get('description', None)
    tool_shed_repository = self.create_or_update_tool_shed_repository_record(name, self.repository_owner, changeset_revision, description=description)
    if tool_shed_repository:
        created_tool_shed_repositories.append(tool_shed_repository)
    for (rd_key, rd_tups) in repository_dependencies_dict.items():
        if (rd_key in ['root_key', 'description']):
            continue
        for rd_tup in rd_tups:
            parsed_rd_tup = common_util.parse_repository_dependency_tuple(rd_tup)
            (rd_tool_shed, rd_name, rd_owner, rd_changeset_revision) = parsed_rd_tup[0:4]
            tool_shed_repository = self.create_or_update_tool_shed_repository_record(rd_name, rd_owner, rd_changeset_revision, description=None)
            if tool_shed_repository:
                created_tool_shed_repositories.append(tool_shed_repository)
    return created_tool_shed_repositories
