ui: add a context manager for silencing the ui (pushbuffer+popbuffer)
We often silence the ui by calling `ui.pushbuffer()` followed (a later in the code) by `ui.popbuffer()`. These places can be identified by the fact that they ignore the output returned from `ui.popbuffer()`. Let's create a context manager for these cases, to avoid repetition, and to avoid accidentally leaving the ui silent on exceptions. I deliberately called the new function `silent()` instead of `buffered()`, because it's just an implementation detail that it uses `pushbuffer()` and `popbuffer()`. We could later optimize it to not buffer the output. Differential Revision: https://phab.mercurial-scm.org/D10884
Showing
- contrib/benchmarks/__init__.py 2 additions, 3 deletionscontrib/benchmarks/__init__.py
- hgext/histedit.py 5 additions, 7 deletionshgext/histedit.py
- mercurial/commands.py 6 additions, 8 deletionsmercurial/commands.py
- mercurial/debugcommands.py 9 additions, 13 deletionsmercurial/debugcommands.py
- mercurial/logcmdutil.py 2 additions, 3 deletionsmercurial/logcmdutil.py
- mercurial/repair.py 18 additions, 13 deletionsmercurial/repair.py
- mercurial/revset.py 4 additions, 3 deletionsmercurial/revset.py
- mercurial/ui.py 8 additions, 0 deletionsmercurial/ui.py
- tests/bruterebase.py 19 additions, 20 deletionstests/bruterebase.py
Loading
Please register or sign in to comment