'Pull all the origin target branches into their local repository.
This will skip any local repositories that are not currently in the
target branch.'

def pull_all_from_origin(self):

    all_repos = (self.__REQUIRED_REPOSITORIES + self.__extra_repositories)
    for repository in all_repos:
        try:
            self.pull_from_origin(repository)
        except RuntimeError as ex:
            if ((repository in self.__extra_repositories) and (not os.path.exists(get_repository_dir(repository)))):
                sys.stderr.write('IGNORING    error    "{msg}"    in    optional    repository    {name}    because    the    local    repository    does    not    yet    exist.\n'.format(msg=ex.message, name=repository.name))
            else:
                raise
