Cope with username being specified to SSH client.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 10 May 2009 04:43:08 +0000 (06:43 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Sun, 10 May 2009 04:43:08 +0000 (06:43 +0200)
dulwich/client.py

index a0231e50fc52faf4e19b26ad6c87b5cc4275faaf..db63452a828ce93da6bf57acb0525441b85e9f17 100644 (file)
@@ -293,20 +293,21 @@ get_ssh_vendor = SSHVendor
 
 class SSHGitClient(GitClient):
 
-    def __init__(self, host, port=None, *args, **kwargs):
+    def __init__(self, host, port=None, username=None, *args, **kwargs):
         self.host = host
         self.port = port
+        self.username = username
         self._args = args
         self._kwargs = kwargs
 
     def send_pack(self, path, determine_wants, generate_pack_contents):
-        remote = get_ssh_vendor().connect_ssh(self.host, ["git-receive-pack %s" % path], port=self.port)
+        remote = get_ssh_vendor().connect_ssh(self.host, ["git-receive-pack %s" % path], port=self.port, username=self.username)
         client = GitClient(lambda: _fileno_can_read(remote.proc.stdout.fileno()), remote.recv, remote.send, *self._args, **self._kwargs)
         return client.send_pack(path, determine_wants, generate_pack_contents)
 
     def fetch_pack(self, path, determine_wants, graph_walker, pack_data,
         progress):
-        remote = get_ssh_vendor().connect_ssh(self.host, ["git-upload-pack %s" % path], port=self.port)
+        remote = get_ssh_vendor().connect_ssh(self.host, ["git-upload-pack %s" % path], port=self.port, username=self.username)
         client = GitClient(lambda: _fileno_can_read(remote.proc.stdout.fileno()), remote.recv, remote.send, *self._args, **self._kwargs)
         return client.fetch_pack(path, determine_wants, graph_walker, pack_data,
                                  progress)