gecko-dev/python/mach
Mitchell Hentges cb6a383b28 Bug 1721609: Remove delay when exception is being reported r=ahal
When Mach captures an exception, it checks if any Python files were
modified, then sends the error to Sentry if not. This filters out local
development errors from our Sentry dashboard.

However, asking VCS if "any Python files are changed" can be a long
operation (in the magnitude of ~1s-10s).

This patch moves that processing to a separate thread that starts during
Mach initialization, so that the answer will be ready by the time an
exception is raised.

I would've preferred if there was a better abstraction for handling this,
but:
* A ThreadExecutor seemed like overkill (until it becomes Mach-wide)
* I don't know of any standard library tools that provide a
  "single-thread-future-with-result" sort of mechanism.

Differential Revision: https://phabricator.services.mozilla.com/D127157
2021-10-04 19:03:12 +00:00
..
docs Bug 1696251: Allow mach commands as stand-alone functions and adapt existing commands. r=mhentges,webdriver-reviewers,perftest-reviewers,sparky,whimboo 2021-09-27 18:12:51 +00:00
mach Bug 1721609: Remove delay when exception is being reported r=ahal 2021-10-04 19:03:12 +00:00
README.rst
bash-completion.sh
metrics.yaml Bug 1717801 - Determine the number of developer who are currently running vscode. r=firefox-build-system-reviewers,mhentges 2021-08-26 07:24:19 +00:00
pings.yaml
setup.cfg
setup.py

README.rst

====
mach
====

Mach (German for *do*) is a generic command dispatcher for the command
line.

To use mach, you install the mach core (a Python package), create an
executable *driver* script (named whatever you want), and write mach
commands. When the *driver* is executed, mach dispatches to the
requested command handler automatically.

To learn more, read the docs in ``docs/``.