Re: About git reporting missing newline for symlinks
- From
brian m. carlson <sandals@crustytoothpaste.net>
- Date
- Oct 12, 2022, 21:32 UTC
- Message-ID
- <Y0cyX8Ggp+dkgAjX@tapette.crustytoothpaste.net>
- In-Reply-To
- <CAAHd=zcrU3VJro1R3xDj3hmqGXZHUA6rHuDFxwhF5aewNvA8xQ@mail.gmail.com>
On 2022-10-12 at 21:17:04, Ignacio Taranto wrote:
Show 8 quoted lines
> So, both git diff and git show display "\ No newline at end of file" > for symlinks. > > I think this is related to how Git renders diffs, IMO it shouldn't > display a warning about > newlines for symlinks. > > Am I making any sense here?
What Git shows for a symlink is the destination of the symlink. On Unix systems other than macOS, path names may contain any byte other than NUL, including a newline.
While it obviously is not a good practice to include newlines in your paths, it is possible, and Git would not be able to round-trip symlinks where the final character of the destination is a newline if we didn't handle trailing newlines properly. As a result, we're not likely to change things here because it's required for correctness.
-- brian m. carlson (he/him or they/them) Toronto, Ontario, CA