Mercurial > hg
view tests/test-ui-color.py @ 30141:c01acee367ec
largefiles: when setting/clearing x bit on largefiles, don't change other bits
It is only the X bit that it matters to copy from the standin to the largefile
in the working directory. While it generally doesn't do any harm to copy the
whole mode, it is also "wrong" to copy more than the X bit we care about. It
can make a difference if someone should try to handle largefiles differently,
such as marking them read-only.
Thus, do similar to what utils.setflags does and set the X bit where there are
R bits and obey umask.
author | Mads Kiilerich <madski@unity3d.com> |
---|---|
date | Sat, 08 Oct 2016 00:59:40 +0200 |
parents | 40afa22bee9b |
children | d83ca854fa21 |
line wrap: on
line source
from __future__ import absolute_import, print_function import os from hgext import ( color, ) from mercurial import ( dispatch, ui as uimod, ) # ensure errors aren't buffered testui = color.colorui() testui.pushbuffer() testui.write(('buffered\n')) testui.warn(('warning\n')) testui.write_err('error\n') print(repr(testui.popbuffer())) # test dispatch.dispatch with the same ui object hgrc = open(os.environ["HGRCPATH"], 'w') hgrc.write('[extensions]\n') hgrc.write('color=\n') hgrc.close() ui_ = uimod.ui() ui_.setconfig('ui', 'formatted', 'True') # we're not interested in the output, so write that to devnull ui_.fout = open(os.devnull, 'w') # call some arbitrary command just so we go through # color's wrapped _runcommand twice. def runcmd(): dispatch.dispatch(dispatch.request(['version', '-q'], ui_)) runcmd() print("colored? " + str(issubclass(ui_.__class__, color.colorui))) runcmd() print("colored? " + str(issubclass(ui_.__class__, color.colorui)))