mercurial/sshserver.py
changeset 2673 109a22f5434a
parent 2622 064aef9162cc
child 2859 345bac2bc4ec
equal deleted inserted replaced
2671:82864a2eb709 2673:109a22f5434a
   115         if not self.lock:
   115         if not self.lock:
   116             self.respond("not locked")
   116             self.respond("not locked")
   117             return
   117             return
   118 
   118 
   119         self.respond("")
   119         self.respond("")
   120         r = self.repo.addchangegroup(self.fin, 'serve')
   120         r = self.repo.addchangegroup(self.fin, 'serve', self.client_url())
   121         self.respond(str(r))
   121         self.respond(str(r))
   122 
   122 
       
   123     def client_url(self):
       
   124         client = os.environ.get('SSH_CLIENT', '').split(' ', 1)[0]
       
   125         return 'remote:ssh:' + client
       
   126         
   123     def do_unbundle(self):
   127     def do_unbundle(self):
   124         their_heads = self.getarg()[1].split()
   128         their_heads = self.getarg()[1].split()
   125 
   129 
   126         def check_heads():
   130         def check_heads():
   127             heads = map(hex, self.repo.heads())
   131             heads = map(hex, self.repo.heads())
   157                 self.respond('')
   161                 self.respond('')
   158 
   162 
   159                 # push can proceed
   163                 # push can proceed
   160 
   164 
   161                 fp.seek(0)
   165                 fp.seek(0)
   162                 r = self.repo.addchangegroup(fp, 'serve')
   166                 r = self.repo.addchangegroup(fp, 'serve', self.client_url())
   163                 self.respond(str(r))
   167                 self.respond(str(r))
   164             finally:
   168             finally:
   165                 if not was_locked:
   169                 if not was_locked:
   166                     self.lock.release()
   170                     self.lock.release()
   167                     self.lock = None
   171                     self.lock = None