'Return the populated containers for a repository being installed for the first time
or for an installed repository that is being updated and the updates include newly
defined repository (and possibly tool) dependencies.'

def populate_containers_dict_for_new_install(self, tool_shed_url, tool_path, readme_files_dict, installed_repository_dependencies, missing_repository_dependencies, installed_tool_dependencies, missing_tool_dependencies, updating=False):

    (installed_tool_dependencies, missing_tool_dependencies) = self.populate_tool_dependencies_dicts(tool_shed_url=tool_shed_url, tool_path=tool_path, repository_installed_tool_dependencies=installed_tool_dependencies, repository_missing_tool_dependencies=missing_tool_dependencies, required_repo_info_dicts=None)
    gucm = GalaxyUtilityContainerManager(self.app)
    containers_dict = gucm.build_repository_containers(repository=None, datatypes=None, invalid_tools=None, missing_repository_dependencies=missing_repository_dependencies, missing_tool_dependencies=missing_tool_dependencies, readme_files_dict=readme_files_dict, repository_dependencies=installed_repository_dependencies, tool_dependencies=installed_tool_dependencies, valid_tools=None, workflows=None, valid_data_managers=None, invalid_data_managers=None, data_managers_errors=None, new_install=True, reinstalling=False)
    if (not updating):
        containers_dict = self.merge_missing_repository_dependencies_to_installed_container(containers_dict)
        containers_dict = self.merge_missing_tool_dependencies_to_installed_container(containers_dict)
    return containers_dict
