mercurial/ui.py
changeset 3653 069f3acdad6c
parent 3647 b7547efe78fb
child 3676 d94664748bc1
equal deleted inserted replaced
3648:b984dcb1df71 3653:069f3acdad6c
    27 class ui(object):
    27 class ui(object):
    28     def __init__(self, verbose=False, debug=False, quiet=False,
    28     def __init__(self, verbose=False, debug=False, quiet=False,
    29                  interactive=True, traceback=False, report_untrusted=True,
    29                  interactive=True, traceback=False, report_untrusted=True,
    30                  parentui=None):
    30                  parentui=None):
    31         self.overlay = None
    31         self.overlay = None
    32         self.header = []
       
    33         self.prev_header = []
       
    34         if parentui is None:
    32         if parentui is None:
    35             # this is the parent of all ui children
    33             # this is the parent of all ui children
    36             self.parentui = None
    34             self.parentui = None
    37             self.readhooks = []
    35             self.readhooks = []
    38             self.quiet = quiet
    36             self.quiet = quiet
   360         if not path and default is not None:
   358         if not path and default is not None:
   361             path = self.config("paths", default)
   359             path = self.config("paths", default)
   362         return path or loc
   360         return path or loc
   363 
   361 
   364     def write(self, *args):
   362     def write(self, *args):
   365         if self.header:
       
   366             if self.header != self.prev_header:
       
   367                 self.prev_header = self.header
       
   368                 self.write(*self.header)
       
   369             self.header = []
       
   370         for a in args:
   363         for a in args:
   371             sys.stdout.write(str(a))
   364             sys.stdout.write(str(a))
   372 
   365 
   373     def write_err(self, *args):
   366     def write_err(self, *args):
   374         try:
   367         try: