mercurial/ui.py
changeset 3543 f7dee427cd14
parent 3538 9b52239dc740
child 3647 b7547efe78fb
equal deleted inserted replaced
3542:c3043ebe40a0 3543:f7dee427cd14
    24         for name, value in source.items(section, raw=True):
    24         for name, value in source.items(section, raw=True):
    25             dest.set(section, name, value)
    25             dest.set(section, name, value)
    26 
    26 
    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, parentui=None):
    29                  interactive=True, traceback=False, report_untrusted=True,
       
    30                  parentui=None):
    30         self.overlay = None
    31         self.overlay = None
    31         self.header = []
    32         self.header = []
    32         self.prev_header = []
    33         self.prev_header = []
    33         if parentui is None:
    34         if parentui is None:
    34             # this is the parent of all ui children
    35             # this is the parent of all ui children
    37             self.quiet = quiet
    38             self.quiet = quiet
    38             self.verbose = verbose
    39             self.verbose = verbose
    39             self.debugflag = debug
    40             self.debugflag = debug
    40             self.interactive = interactive
    41             self.interactive = interactive
    41             self.traceback = traceback
    42             self.traceback = traceback
       
    43             self.report_untrusted = report_untrusted
    42             self.trusted_users = {}
    44             self.trusted_users = {}
    43             self.trusted_groups = {}
    45             self.trusted_groups = {}
    44             # if ucdata is not None, its keys must be a superset of cdata's
    46             # if ucdata is not None, its keys must be a superset of cdata's
    45             self.cdata = util.configparser()
    47             self.cdata = util.configparser()
    46             self.ucdata = None
    48             self.ucdata = None
    96         if (tusers or tgroups) and '*' not in tusers and '*' not in tgroups:
    98         if (tusers or tgroups) and '*' not in tusers and '*' not in tgroups:
    97             st = util.fstat(fp)
    99             st = util.fstat(fp)
    98             user = util.username(st.st_uid)
   100             user = util.username(st.st_uid)
    99             group = util.groupname(st.st_gid)
   101             group = util.groupname(st.st_gid)
   100             if user not in tusers and group not in tgroups:
   102             if user not in tusers and group not in tgroups:
   101                 if warn:
   103                 if warn and self.report_untrusted:
   102                     self.warn(_('Not trusting file %s from untrusted '
   104                     self.warn(_('Not trusting file %s from untrusted '
   103                                 'user %s, group %s\n') % (f, user, group))
   105                                 'user %s, group %s\n') % (f, user, group))
   104                 return False
   106                 return False
   105         return True
   107         return True
   106 
   108