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

Re: Re* [PATCH v2] fixup! mergetool: add automerge configuration

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Jan 22, 2021, 23:25 UTC
Message-ID
<YAte7ixZYdz1AOMX@camp.crustytoothpaste.net>
In-Reply-To
<nycvar.QRO.7.76.6.2101221728410.52@tvgsbejvaqbjf.bet>
On 2021-01-22 at 16:29:46, Johannes Schindelin wrote:
Show 27 quoted lines
> Hi brian,
> 
> On Fri, 22 Jan 2021, brian m. carlson wrote:
> 
> > On 2021-01-16 at 04:24:54, Seth House wrote:
> > > The autocrlf test is breaking because the sed that ships with some mingw
> > > versions (and also some minsys and cygwin versions) will *automatically*
> > > remove carriage returns:
> > >
> > > $ printf 'foo\r\nbar\r\n' | sed -e '/bar/d' | cat -A
> > > foo$
> > >
> > > $ printf 'foo\r\nbar\r\n' | sed -b -e '/bar/d' | cat -A
> > > foo^M$
> > >
> > > (Note: the -b flag above is just for comparison. We can't use it here.
> > > It's not in POSIX and is not present in sed for busybox or OSX.)
> >
> > Can you report this as a bug?  This behavior isn't compliant with POSIX
> > and it makes it really hard for folks to write portable code if these
> > versions implement POSIX utilities in a nonstandard way.  As a
> > non-Windows user, I have no hope of writing code that works on Windows
> > if we can't rely on our standard utilities working properly.
> 
> I fear that the Windows-based tools do the correct thing, though: they are
> meant to process _text_, and newlines are supposed to be
> platform-dependent in text.

Ah, but POSIX gives a very specific meaning to "newline", and it refers to a single byte. If you want tools that process CRLF line endings like that, then that should be opt-in as either different tools or additional options, not the default behavior of a POSIX tool. This behavior is not conforming to POSIX and it is therefore a defect.

> From that perspective, it sounds to me as if we're trying to ask `sed` to
> do something it was not designed to do: binary editing.

Most Windows tools are perfectly capable of handling LF line endings. Even the famously incapable Notepad can now handle LF without CR. With the advent of WSL, handling LF line endings is now pretty much required.

-- 
brian m. carlson (he/him or they/them)
Houston, Texas, US
Previous: Johannes SchindelinNext: Johannes Schindelin
Message 16 of 24 in “fixup! mergetool: add automerge configuration”
  1. fixup! mergetool: add automerge configurationDavid Aguilar, Jan 9, 2021
  2. brian m. carlsonJan 9, 2021
  3. fixup! mergetool: add automerge configurationDavid Aguilar, Jan 9, 2021
  4. Seth HouseJan 9, 2021
  5. Junio C HamanoJan 10, 2021
  6. Re* [PATCH v2] fixup! mergetool: add automerge configurationJunio C Hamano, Jan 10, 2021
  7. Seth HouseJan 10, 2021
  8. Junio C HamanoJan 10, 2021
  9. Seth HouseJan 16, 2021
  10. automerge implementation ideas for WindowsSeth House, Jan 20, 2021
  11. Junio C HamanoJan 21, 2021
  12. Seth HouseJan 22, 2021
  13. Junio C HamanoJan 22, 2021
  14. brian m. carlsonJan 22, 2021
  15. Johannes SchindelinJan 22, 2021
  16. brian m. carlsonJan 22, 2021
  17. Johannes SchindelinJan 26, 2021
  18. Seth HouseJan 26, 2021
  19. Junio C HamanoJan 26, 2021
  20. Seth HouseJan 27, 2021
  21. Junio C HamanoJan 29, 2021
  22. Junio C HamanoJan 9, 2021
  23. Junio C HamanoJan 10, 2021
  24. Junio C HamanoJan 9, 2021

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.