Mercurial > hg > hg-git
changeset 956:e7316a108780
ssh: fix breakage again with dulwich update
dulwich 0.12.x changed the way they pass parameters around, so we reformat that
to what hg-git expects.
This is just plain ridiculous.
author | Sean Farley <sean@farley.io> |
---|---|
date | Mon, 14 Dec 2015 14:38:42 -0800 (2015-12-14) |
parents | 528015bde034 |
children | 06385a2b30f3 8140bbc2fdc2 |
files | hggit/_ssh.py |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/hggit/_ssh.py +++ b/hggit/_ssh.py @@ -14,10 +14,13 @@ class _Vendor(SSHVendor): def run_command(self, host, command, username=None, port=None): - # newer dulwich changes the way they pass command and parameters - # around, so we detect that here and reformat it back to what - # hg-git expects (e.g. "command 'arg1 arg2'") - if len(command) > 1: + if isinstance(command, basestring): + # 0.12.x dulwich sends the raw string + command = [command] + elif len(command) > 1: + # 0.11.x dulwich sends an array of [command arg1 arg2 ...], so + # we detect that here and reformat it back to what hg-git + # expects (e.g. "command 'arg1 arg2'") command = ["%s '%s'" % (command[0], ' '.join(command[1:]))] sshcmd = ui.config("ui", "ssh", "ssh") args = util.sshargs(sshcmd, host, username, port)