mercurial/commandserver.py
branchstable
changeset 14750 f5f97a0f983f
parent 14728 350dcd481410
child 14751 712954a67be3
equal deleted inserted replaced
14749:e3be7dc9a5e1 14750:f5f97a0f983f
   141                 logfile = channeledoutput(sys.stdout, sys.stdout, 'd')
   141                 logfile = channeledoutput(sys.stdout, sys.stdout, 'd')
   142             else:
   142             else:
   143                 logfile = open(logpath, 'a')
   143                 logfile = open(logpath, 'a')
   144 
   144 
   145         self.repo = repo
   145         self.repo = repo
       
   146         self.repoui = repo.ui
   146 
   147 
   147         if mode == 'pipe':
   148         if mode == 'pipe':
   148             self.cerr = channeledoutput(sys.stderr, sys.stdout, 'e')
   149             self.cerr = channeledoutput(sys.stderr, sys.stdout, 'e')
   149             self.cout = channeledoutput(sys.stdout, sys.stdout, 'o')
   150             self.cout = channeledoutput(sys.stdout, sys.stdout, 'o')
   150             self.cin = channeledinput(sys.stdin, sys.stdout, 'I')
   151             self.cin = channeledinput(sys.stdin, sys.stdout, 'I')
   174         if not length:
   175         if not length:
   175             args = []
   176             args = []
   176         else:
   177         else:
   177             args = self._read(length).split('\0')
   178             args = self._read(length).split('\0')
   178 
   179 
   179         # copy the ui so changes to it don't persist between requests
   180         # copy the uis so changes (e.g. --config or --verbose) don't
       
   181         # persist between requests
       
   182         self.repo.ui = self.repo.dirstate._ui = self.repoui.copy()
   180         req = dispatch.request(args, self.ui.copy(), self.repo, self.cin,
   183         req = dispatch.request(args, self.ui.copy(), self.repo, self.cin,
   181                                self.cout, self.cerr)
   184                                self.cout, self.cerr)
   182 
   185 
   183         ret = dispatch.dispatch(req) or 0 # might return None
   186         ret = dispatch.dispatch(req) or 0 # might return None
   184 
   187