Mercurial > hg
comparison hgext/chgserver.py @ 29546:a7513390a9db
chgserver: extract stub factory of service object
The class inheritance will be replaced by composition. See the next patch
for details.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sun, 22 May 2016 13:13:04 +0900 |
parents | 28aca3fafc2a |
children | 300318b7d66d |
comparison
equal
deleted
inserted
replaced
29545:28aca3fafc2a | 29546:a7513390a9db |
---|---|
536 return '%s.%d.tmp' % (address, os.getpid()) | 536 return '%s.%d.tmp' % (address, os.getpid()) |
537 | 537 |
538 def _hashaddress(address, hashstr): | 538 def _hashaddress(address, hashstr): |
539 return '%s-%s' % (address, hashstr) | 539 return '%s-%s' % (address, hashstr) |
540 | 540 |
541 class chgunixservice(commandserver.unixservice): | 541 class _chgunixservice(commandserver.unixservice): |
542 def __init__(self, ui, repo, opts): | |
543 super(chgunixservice, self).__init__(ui, repo=None, opts=opts) | |
544 if repo: | |
545 # one chgserver can serve multiple repos. drop repo infomation | |
546 self.ui.setconfig('bundle', 'mainreporoot', '', 'repo') | |
547 | |
548 def init(self): | 542 def init(self): |
549 self._inithashstate() | 543 self._inithashstate() |
550 self._checkextensions() | 544 self._checkextensions() |
551 class cls(AutoExitMixIn, socketserver.ForkingMixIn, | 545 class cls(AutoExitMixIn, socketserver.ForkingMixIn, |
552 socketserver.UnixStreamServer): | 546 socketserver.UnixStreamServer): |
651 def _createcmdserver(self, repo, conn, fin, fout): | 645 def _createcmdserver(self, repo, conn, fin, fout): |
652 ui = self.server.ui | 646 ui = self.server.ui |
653 return chgcmdserver(ui, repo, fin, fout, conn, | 647 return chgcmdserver(ui, repo, fin, fout, conn, |
654 self.server.hashstate, self.server.baseaddress) | 648 self.server.hashstate, self.server.baseaddress) |
655 | 649 |
650 def chgunixservice(ui, repo, opts): | |
651 if repo: | |
652 # one chgserver can serve multiple repos. drop repo infomation | |
653 ui.setconfig('bundle', 'mainreporoot', '', 'repo') | |
654 return _chgunixservice(ui, repo=None, opts=opts) | |
655 | |
656 def uisetup(ui): | 656 def uisetup(ui): |
657 commandserver._servicemap['chgunix'] = chgunixservice | 657 commandserver._servicemap['chgunix'] = chgunixservice |
658 | 658 |
659 # CHGINTERNALMARK is temporarily set by chg client to detect if chg will | 659 # CHGINTERNALMARK is temporarily set by chg client to detect if chg will |
660 # start another chg. drop it to avoid possible side effects. | 660 # start another chg. drop it to avoid possible side effects. |