##// END OF EJS Templates
Make ssh URL parsing more robust
mpm@selenic.com -
r817:cf1d9a01 default
parent child Browse files
Show More
@@ -1879,9 +1879,9 b' class sshrepository:'
1879 1879 self.url = path
1880 1880 self.ui = ui
1881 1881
1882 m = re.match(r'ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?', path)
1882 m = re.match(r'ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))', path)
1883 1883 if not m:
1884 raise RepoError("couldn't parse destination %s\n" % path)
1884 raise RepoError("couldn't parse destination %s" % path)
1885 1885
1886 1886 self.user = m.group(2)
1887 1887 self.host = m.group(3)
@@ -1892,6 +1892,9 b' class sshrepository:'
1892 1892 args = self.port and ("%s -p %s") % (args, self.port) or args
1893 1893 path = self.path or ""
1894 1894
1895 if not path:
1896 raise RepoError("no remote repository path specified")
1897
1895 1898 cmd = "ssh %s 'hg -R %s serve --stdio'"
1896 1899 cmd = cmd % (args, path)
1897 1900
@@ -1906,11 +1909,14 b' class sshrepository:'
1906 1909 self.ui.status("remote: ", l)
1907 1910
1908 1911 def __del__(self):
1909 self.pipeo.close()
1910 self.pipei.close()
1911 for l in self.pipee:
1912 self.ui.status("remote: ", l)
1913 self.pipee.close()
1912 try:
1913 self.pipeo.close()
1914 self.pipei.close()
1915 for l in self.pipee:
1916 self.ui.status("remote: ", l)
1917 self.pipee.close()
1918 except:
1919 pass
1914 1920
1915 1921 def dev(self):
1916 1922 return -1
General Comments 0
You need to be logged in to leave comments. Login now