Mercurial > hg
view tests/test-revert-flags.t @ 47437:7a430116f639
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
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 18 Jun 2021 15:48:51 -0700 |
parents | 7a9cbb315d84 |
children |
line wrap: on
line source
#require execbit $ hg init repo $ cd repo $ echo foo > foo $ chmod 644 foo $ hg ci -qAm '644' $ chmod 755 foo $ hg ci -qAm '755' reverting to rev 0 $ hg revert -a -r 0 reverting foo $ hg st M foo $ hg diff --git diff --git a/foo b/foo old mode 100755 new mode 100644 $ cd ..