git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/3] mingw: document the experimental standard handle redirection

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Nov 3, 2017, 11:51 UTC
Message-ID
<alpine.DEB.2.21.1.1711031251060.6482@virtualbox>
In-Reply-To
<xmqqzi84p1ue.fsf@gitster.mtv.corp.google.com>
Hi Junio,
On Fri, 3 Nov 2017, Junio C Hamano wrote:
Show 10 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> >> If I was correct in assuming that "2>&1" is just as foreign as
> >> ">/dev/null", then we should be shunning "2>&1" just like we shun
> >> ">/dev/null".  That was all I meant to say.
> >
> > Did you know that `2>&1` works in Powershell?
> 
> No.  And that makes me curious if ">&-" is also there to replace
> "off" ;-)
No, it does not:
-- snip --
PS C:\Users\me> echo 123 >&-
At line:1 char:11
+ echo 123 >&-
+           ~
Missing file specification after redirection operator.
At line:1 char:11
+ echo 123 >&-
+           ~
The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double
quotation marks ("&") to pass it as part of a string.
    + CategoryInfo          : ParserError: (:) [],
ParentContainsErrorRecordException
    + FullyQualifiedErrorId : MissingFileSpecification
-- snap --

Besides, we're really getting off-track here. I do not *like* `2>&1` as quite cryptic placeholder for `redirect stderr into the same handle as stdout was already redirected`. It is Perl-level obscurity.

Adding even more of those "let's string together non-alphanumerical characters together and declare that they have some special meaning that nobody would guess so they have to ask us and thereby make us feel smarter than we are" is definitely not anything I want.

In my opinion, `off` is kind of a compromise that is both easy to understand and hard to confuse.

If there was a short, succinct and easy-to-understand textual representation of `same as stdout` that would not be easily confused for a real file path, I would rather use that instead.

Please note, though, that I am again very reluctant to change things for less than really compelling reasons at this stage. I have just burned two days as a consequence of Peff's decision to take my --no-lock-index work and turn it into something different enough that I had to put in more work to adjust it, only to introduce a bug in something that worked without any problem for over one entire year.

It is quite a bit ridiculous just how much bug hunting time I have to spend lately on stuff that used to work and that got broken on transit into git.git. It adds a whole new stress level to my work.

Ciao, Dscho

Previous: Junio C HamanoNext: Jonathan Nieder
Message 12 of 22 in “mingw: introduce a way to avoid std handle inheritance”
  1. 0/3 mingw: introduce a way to avoid std handle inheritanceJohannes Schindelin, Oct 30, 2017
  2. 1/3 mingw: add experimental feature to redirect standard handlesJohannes Schindelin, Oct 30, 2017
  3. 2/3 mingw: special-case GIT_REDIRECT_STDERR=2>&1Johannes Schindelin, Oct 30, 2017
  4. 3/3 mingw: document the experimental standard handle redirectionJohannes Schindelin, Oct 30, 2017
  5. Eric SunshineOct 30, 2017
  6. Johannes SchindelinOct 31, 2017
  7. Junio C HamanoNov 1, 2017
  8. Johannes SchindelinNov 1, 2017
  9. Junio C HamanoNov 2, 2017
  10. Johannes SchindelinNov 2, 2017
  11. Junio C HamanoNov 3, 2017
  12. Johannes SchindelinNov 3, 2017
  13. Jonathan NiederOct 30, 2017
  14. Junio C HamanoOct 31, 2017
  15. Johannes SchindelinOct 31, 2017
  16. Jonathan NiederOct 31, 2017
  17. Johannes SchindelinNov 1, 2017
  18. Stefan BellerNov 1, 2017
  19. 0/3 mingw: introduce a way to avoid std handle inheritanceJohannes Schindelin, Nov 1, 2017
  20. 1/3 mingw: add experimental feature to redirect standard handlesJohannes Schindelin, Nov 1, 2017
  21. 2/3 mingw: optionally redirect stderr/stdout via the same handleJohannes Schindelin, Nov 1, 2017
  22. 3/3 mingw: document the standard handle redirectionJohannes Schindelin, Nov 1, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.