--- a/mercurial/sshserver.py
+++ b/mercurial/sshserver.py
@@ -117,9 +117,13 @@ class sshserver(object):
return
self.respond("")
- r = self.repo.addchangegroup(self.fin, 'serve')
+ r = self.repo.addchangegroup(self.fin, 'serve', self.client_url())
self.respond(str(r))
+ def client_url(self):
+ client = os.environ.get('SSH_CLIENT', '').split(' ', 1)[0]
+ return 'remote:ssh:' + client
+
def do_unbundle(self):
their_heads = self.getarg()[1].split()
@@ -159,7 +163,7 @@ class sshserver(object):
# push can proceed
fp.seek(0)
- r = self.repo.addchangegroup(fp, 'serve')
+ r = self.repo.addchangegroup(fp, 'serve', self.client_url())
self.respond(str(r))
finally:
if not was_locked: