changeset 1069:4337cd845a2a

Allow using a ssh repository without a path. This uses the home directory on the remote side or the directory specified in the command in .ssh/authorized_keys
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 26 Aug 2005 22:40:56 +0200
parents 498456c2e8e5
children b55c6685c953
files mercurial/hg.py
diffstat 1 files changed, 3 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/hg.py	Fri Aug 26 16:47:09 2005 +0200
+++ b/mercurial/hg.py	Fri Aug 26 22:40:56 2005 +0200
@@ -2157,26 +2157,22 @@
         self.url = path
         self.ui = ui
 
-        m = re.match(r'ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))', path)
+        m = re.match(r'ssh://(([^@]+)@)?([^:/]+)(:(\d+))?(/(.*))?', path)
         if not m:
             raise RepoError("couldn't parse destination %s" % path)
 
         self.user = m.group(2)
         self.host = m.group(3)
         self.port = m.group(5)
-        self.path = m.group(7)
+        self.path = m.group(7) or "."
 
         args = self.user and ("%s@%s" % (self.user, self.host)) or self.host
         args = self.port and ("%s -p %s") % (args, self.port) or args
-        path = self.path or ""
-
-        if not path:
-            raise RepoError("no remote repository path specified")
 
         sshcmd = self.ui.config("ui", "ssh", "ssh")
         remotecmd = self.ui.config("ui", "remotecmd", "hg")
         cmd = "%s %s '%s -R %s serve --stdio'"
-        cmd = cmd % (sshcmd, args, remotecmd, path)
+        cmd = cmd % (sshcmd, args, remotecmd, self.path)
 
         self.pipeo, self.pipei, self.pipee = os.popen3(cmd)