question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

VCS invocation merges stdout and stderr, resulting in output parsing error

See original GitHub issue

Environment

  • pip version: 19.3.1
  • Python version: 2.7
  • OS: fedora

Due to a bug in mercurial, if both the split and evolve extension are enabled, mercurial will output a warning (on stderr) whenever it runs. When pip calls hg root to get the path of an editable install, pip captures both stdout and stderr, and so includes the warning as part of the path to the root of the repository and fails.

This can be reproduced with the following .hgrc:

[extensions]
evolve =
split =

and installing the evolve extensions pip install hg-evolve.

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:7 (5 by maintainers)

github_iconTop GitHub Comments

2reactions
deveshkscommented, May 5, 2020

I think this is similar to what I observed in svn in https://github.com/pypa/pip/issues/7968 .

I have also created a PR for this (https://github.com/pypa/pip/pull/7969) which removes the behavior of vcs commands of merging stderr and stdout, and makes VCS commands use their own call_subprocess. Could you try it out and see if this fixes the hg issue?

1reaction
uranusjrcommented, Jan 15, 2020

I’ll probably work on this after #7593. Some refactoring would improve the code touched by that PR, and would fix this bug en passant.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Merging a Python script's subprocess' stdout and stderr while ...
STDOUT is a special flag that tells subprocess to route all stderr output to stdout, thus combining your two streams. btw, select doesn't...
Read more >
how to save stderr and stdout to a file in ubuntu - Server Fault
so that both openssl processes are run in a subshell, and the subshell's stderr is redirected together with the stdout to error.log.
Read more >
Redirecting error from Command Prompt - Visual C++
When you redirect console output using the > symbol, you are only redirecting STDOUT.
Read more >
VCS/VCSi User Guide
control an interactive simulation or to analyze saved results of simulation. ... VCSi is invoked using the vcsi command instead of vcs.
Read more >
Tutorial - xonsh 0.13.4 documentation
If parsing in subprocess mode fails, then the line is left in Python-mode. ... However, its standard output and standard error streams are...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found