Folks,
For SVN repositories that use https:// , the explorer command
'svn ls' might hang because it opens the interactive prompt, asking
the user whether they want to trust the certificate.
The problem is not obvious because the output is not shown to the
terminal, so tailor appears to (and actually does) hang forever.
The attached patch adds --non-interactive option to the initial
"ls" commands, and effectively causes error exit if the certificate
is not trusted.
To mark the certificate as trusted, it is the easiest to (as the user
who will invoke tailor), you manually invoke the ls command, such as
svn ls https://site/svn/repository
and then choose option "accept (p)ermanently" at the prompt that shows up.
Regards,
-doc
--- /mnt/tailor/vcpx/repository/svn.py 2007-07-09 15:58:40.000000000 +0200
+++ svn.py 2007-07-09 23:27:32.000000000 +0200
@@ -49,7 +49,7 @@
if self.module and self.module <> '/':
# Check the existing tags directory
- cmd = self.command("ls")
+ cmd = self.command("ls --non-interactive")
svnls = ExternalCommand(command=cmd)
svnls.execute(self.repository + self.tags_path)
if svnls.exit_status:
@@ -121,7 +121,7 @@
from sys import platform
# Verify the existence of repository by listing its root
- cmd = self.command("ls")
+ cmd = self.command("ls --non-interactive")
svnls = ExternalCommand(command=cmd)
svnls.execute(self.repository)
@@ -164,7 +164,7 @@
chmod(hookname, 0755)
if self.module and self.module <> '/':
- cmd = self.command("ls")
+ cmd = self.command("ls --non-interactive")
svnls = ExternalCommand(command=cmd)
svnls.execute(self.repository + self.module)
if svnls.exit_status:
@@ -174,7 +174,7 @@
# Auto detect missing "branches/"
if self.module.startswith(self.branches_path + '/'):
path = self.repository + self.branches_path
- cmd = self.command("ls")
+ cmd = self.command("ls --non-interactive")
svnls = ExternalCommand(command=cmd)
svnls.execute(path)
if svnls.exit_status:
@@ -489,7 +489,7 @@
lastok = self.repository.repository
if not self.repository.trust_root:
- cmd = self.repository.command("ls")
+ cmd = self.repository.command("ls --non-interactive")
svnls = ExternalCommand(command=cmd)
# First verify that we have a valid repository
_______________________________________________
Tailor mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/tailor