Package: svn-load
Version: 1.3-1
Severity: normal
Tags: patch upstream

Dear Maintainer,

since I reinstalled my system, using svn-load like

svn-load https://www.example.com/svn/myproject/ current /tmp/somedir

terminates with the following traceback:

TypeError: get_login() takes exactly 3 arguments (4 given)
Traceback (most recent call last):
  File "/usr/bin/svn-load", line 652, in <module>
    "Load %s into %s." % (os.path.basename(d), import_dir))
pysvn._pysvn_2_7.ClientError: unhandled exception in callback_get_login

after doing the local work, just before commiting the changes to the svn
server. With the freshly installed system, svn-load would need to ask me
for the svn password but fails to do so. As the version I had installed
on my old system worked well and was idendical, I assume that when a
cached password is present (which is the case in most scenarios -
therefore I could not find a bug report for this problem), the script
works well.

I created a simple patch that I'll attach to my next mail.

-- System Information:
Debian Release: 9.5
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.9.0-8-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8), LANGUAGE=en_US:en 
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages svn-load depends on:
ii  python      2.7.13-2
ii  python-svn  1.9.4-2

svn-load recommends no packages.

svn-load suggests no packages.

-- no debconf information
diff --git a/svn-load b/svn-load
index 9c18fa0..37cddbe 100755
--- a/svn-load
+++ b/svn-load
@@ -68,11 +68,11 @@ class NotifiedClient:
     def ssl_client_cert_password_prompt(realm, may_save):
         return True, getpass.getpass("Passphrase for '%s': " % (realm)), False
 
-    def get_login(realm, username, may_save):
+    def get_login(self, realm, username, may_save):
         if not self.password:
             self.password = raw_input("Password for %s (svn): " % username)
             
-        return (True, username, password, False)
+        return (True, username, self.password, False)
 
     ## pysvn supports a number of callbacks for scenarios I've yet to
     ## encounter. For now, just emit a warning to hopefully clue the user

Reply via email to