Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork939
Closed
Labels
Description
InRemote.set_url, the new_url and old_url seem to be passed to the repo.git.remote command in the wrong order if old_url is provided:
def set_url(self, new_url, old_url=None, **kwargs): """Configure URLs on current remote (cf command git remote set_url) This command manages URLs on the remote. :param new_url: string being the URL to add as an extra remote URL :param old_url: when set, replaces this URL with new_url for the remote :return: self """ scmd = 'set-url' kwargs['insert_kwargs_after'] = scmd if old_url: self.repo.git.remote(scmd, self.name, old_url, new_url, **kwargs) else: self.repo.git.remote(scmd, self.name, new_url, **kwargs) return self
Thegit scm says they should be the other way around:
git remote set-url [--push] <name> <newurl> [<oldurl>]
This leads to the following behaviour:
remote = repo.create_remote("upstream", "place")remote.set_url("new_place", "place")
results in:
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128) cmdline: git remote set-url upstream place new_place stderr: 'fatal: No such URL found: new_place'