mercurial/dispatch.py
changeset 40634 5542bc9125c9
parent 40490 444861dc1e55
child 40694 1243295fcc3a
equal deleted inserted replaced
40633:3b0f07cc9626 40634:5542bc9125c9
    48     stringutil,
    48     stringutil,
    49 )
    49 )
    50 
    50 
    51 class request(object):
    51 class request(object):
    52     def __init__(self, args, ui=None, repo=None, fin=None, fout=None,
    52     def __init__(self, args, ui=None, repo=None, fin=None, fout=None,
    53                  ferr=None, prereposetups=None):
    53                  ferr=None, fmsg=None, prereposetups=None):
    54         self.args = args
    54         self.args = args
    55         self.ui = ui
    55         self.ui = ui
    56         self.repo = repo
    56         self.repo = repo
    57 
    57 
    58         # input/output/error streams
    58         # input/output/error streams
    59         self.fin = fin
    59         self.fin = fin
    60         self.fout = fout
    60         self.fout = fout
    61         self.ferr = ferr
    61         self.ferr = ferr
       
    62         # separate stream for status/error messages
       
    63         self.fmsg = fmsg
    62 
    64 
    63         # remember options pre-parsed by _earlyparseopts()
    65         # remember options pre-parsed by _earlyparseopts()
    64         self.earlyoptions = {}
    66         self.earlyoptions = {}
    65 
    67 
    66         # reposetups which run before extensions, useful for chg to pre-fill
    68         # reposetups which run before extensions, useful for chg to pre-fill
   203                 req.ui.fin = req.fin
   205                 req.ui.fin = req.fin
   204             if req.fout:
   206             if req.fout:
   205                 req.ui.fout = req.fout
   207                 req.ui.fout = req.fout
   206             if req.ferr:
   208             if req.ferr:
   207                 req.ui.ferr = req.ferr
   209                 req.ui.ferr = req.ferr
       
   210             if req.fmsg:
       
   211                 req.ui.fmsg = req.fmsg
   208         except error.Abort as inst:
   212         except error.Abort as inst:
   209             ferr.write(_("abort: %s\n") % inst)
   213             ferr.write(_("abort: %s\n") % inst)
   210             if inst.hint:
   214             if inst.hint:
   211                 ferr.write(_("(%s)\n") % inst.hint)
   215                 ferr.write(_("(%s)\n") % inst.hint)
   212             return -1
   216             return -1
   953             if repo:
   957             if repo:
   954                 # set the descriptors of the repo ui to those of ui
   958                 # set the descriptors of the repo ui to those of ui
   955                 repo.ui.fin = ui.fin
   959                 repo.ui.fin = ui.fin
   956                 repo.ui.fout = ui.fout
   960                 repo.ui.fout = ui.fout
   957                 repo.ui.ferr = ui.ferr
   961                 repo.ui.ferr = ui.ferr
       
   962                 repo.ui.fmsg = ui.fmsg
   958             else:
   963             else:
   959                 try:
   964                 try:
   960                     repo = hg.repository(ui, path=path,
   965                     repo = hg.repository(ui, path=path,
   961                                          presetupfuncs=req.prereposetups,
   966                                          presetupfuncs=req.prereposetups,
   962                                          intents=func.intents)
   967                                          intents=func.intents)