def set_remotes_in_checkout(self): logger.info('Setting remotes in checkout') # remove remotes not in model remotes_names = Git.get_remotes(self.path) names = filter(lambda n: n not in self.remotes, remotes_names) for name in names: Git.remove_remote(self.path, name) # add remotes not in checkout names = filter(lambda n: n not in remotes_names, self.remotes.keys()) for name in names: Git.add_remote(self.path, name, self.remotes[name].urls['url']) # overwrite urls in checkout for remote in self.remotes.values(): for key, val in remote.urls.items(): key = StrFmt.fmt_remote_key(remote.name, key) Git.set_conf_key(self.path, key, val)