zestsoftware/zest.releaser — pull request #62 by embray (2014-09-23 22:03:27+00:00)
Title: Update utils.system to return stdout and stderr separately

I noticed recently that at some point after v3.49 (i.e. now whenever I pip install the latest zest.releaser) I would have trouble with occasional garbage in my version string or project name, since zest.releaser is using `./setup.py --name` and `./setup.py --version` to obtain those`.

However, although those commands should only output the name/version on stdout, our setup.py is such that occasionally some warnings will go to stderr. Since the `system()` function just concatenates stdout and stderr that leads to problems. This is a possible problem in some other cases too--for example git sometimes puts warnings stderr that could confuse things when trying to parse what came out of stdout.

This changes `system()` to return a `(stdout, stderr)` tuple. In cases where it's appropriate to display the output from both streams it's easy enough to do `''.join(system())`. Alternatively, I could offer a new argument to `system()` to return only stdout.