gecko-dev/python/mach
Andrew Halberstadt d3ccaac56c Bug 1473498 - Fix Python 3 environment variables with subprocess r=glandium
On Windows in Python 2, the subprocess module requires the use of bytes with
the 'env' argument. For that reason, we would sometimes use byte strings with
'os.environ' like so:

    os.environ[b"FOO"] = b"bar"

However, this is a failure with Python 3 as 'os.environ' must only be used with
the text type. This patch creates a new 'setenv' helper that ensures we create
new environment with 'bytes' on Python 2, and 'text' on Python 3.

Differential Revision: https://phabricator.services.mozilla.com/D38237

--HG--
extra : moz-landing-system : lando
2019-07-30 21:35:53 +00:00
..
docs Bug 1519968 - [mach] Minor improvements to autocomplete docs, r=jmaher 2019-01-14 19:43:53 +00:00
mach Bug 1473498 - Fix Python 3 environment variables with subprocess r=glandium 2019-07-30 21:35:53 +00:00
README.rst
bash-completion.sh Bug 1518586 - [mach] Implement bash completion for subcommands and arguments r=nalexander 2019-01-11 15:28:49 +00:00
setup.py Bug 1559975 - Make python/mach lint with 'py2' and 'py3' r=catlee 2019-07-05 14:24:58 +00:00

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/``.