-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Regression: awk doesn't strip \r #1524
Comments
Workaround: Set
|
Hmm. I cannot spot any obvious culprit in msys2/MSYS2-packages@316e772 nor in http://git.savannah.gnu.org/cgit/gawk.git/tree/ChangeLog?h=gawk-4.2.1&id=bd8a8ad0c258d2db31e420eec81932cf15bf9702. Can you? |
Bisected to 5db38f775d9ba239e125d81dff2010a2ddacb48e:
:) |
I uploaded new packages to Git for Windows' Pacman repositories, and verified that the indicated commands now work as expected again. |
The regression where `gawk` stopped treating Carriage Returns as part of the line endings [was fixed](git-for-windows/git#1524). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Thanks! |
@orgads oh, and BTW, there is a new snapshot at https://wingit.blob.core.windows.net/files/index.html that should have the fix... Do you want to test? |
I already tested with your packages in the sdk. 👍 |
:-) |
For the record, I re-tested with the 64-bit portable Git of the latest snapshot and it does fix the regression. So if you need any semi-official installer until the next official Git for Windows version is released, there you go (the snapshot installers are pretty close to the official versions, the binaries are also code-signed by me). |
Thank you. |
Awk has stopped automatically stripping \r on Windows since version 4.2.0. This results in a blank line between other footers and Change-Id. Related discussions: git-for-windows/git#1524 http://www.cygwin.com/ml/cygwin/2018-02/msg00280.html Change-Id: I15ac15bc3f14990a4fc48551217df022f0317f2d
It breaks compatibility of existing scripts, so I consider this a bug. |
@svnpenn if the software behaved in one way for ages, so much so that users started relying on it, you can go down the streets shouting from the top of your lungs that this is not a bug, and it will still be wrong. All the Open Source maintainers of this world could form a choir and sing that this is not a bug, and they still would be all wrong. |
@dscho no, its the people relying on non portable scripts that are wrong http://cygwin.com/ml/cygwin/2017-02/msg00155.html this "fix" you all have merged needs to be reverted ASAP - and people need to just write proper scripts - AKA |
It's the other way around: Or add |
@svnpenn this type of comment is not at all welcome here. Please do not force me to block you from the project as a poisonous person. |
I agree that we are stuck between a rock and a hard place because gawk featured a certain behavior for such a long time that it became the de facto standard. However, I disagree that we have to cause even more pain in order to solve what some may consider a bug by breaking existing setups. That is just such a no-go that I am a bit surprised I even have to mention it. |
@dscho you do have to mention it "That‘s the way it‘s always been done" - is not a good reason to keep doing something - scripts that assumed Awk would strip CR - are not and never were portable - you should also note that this "errant" behavior falsely reported is now the default with Sed and Grep too so if you are going to break Awk, youre going to need to break Sed and Grep too: |
@svnpenn Let's stop misquoting, alright? To continue doing things as they always have been done just for the heck of it is obviously not what we do here. Otherwise there would be no commits in this org. Zero. So I would appreciate it if this needling way of phrasing things would stop, like, right now. Or even better: earlier than that. The problem pointed out both by @orgads and by myself is that you advocate for breaking existing setups without warning. To put this into a context that I have a suspicion will be more familiar to you: can you imagine coming to your house tonight, finding that there is a digger there that already started tearing it down? And the workers will gladly tell you that a new highway will be built, and there is really no more sensible route than right through your house. And it really is the most sensible route, even if it happens to require the house to be torn down that you have gotten used to live in. If you still think that you have a convincing argument for breaking existing setups without prior warning, let's hear it. If you wish to do that, you are welcome to do so, in a polite manner. |
@dscho no thank you i wont be arguing with a brick wall any who support portable scripts will understand that the current cygwin behavior is correct - the opposite side of that argument is those who do not care about portable scripts - but only care to not change their existing non portable scripts - this argument has been had out already and the winning side was portable scripts as far as the cygwin community is concerned if you wish to deviate from that path it is your call - but i urge you not to - take my request to revert this commit seriously - i do not make it lightly |
@svnpenn the number one priority in this project are the users. If you break users' existing setups, you introduce a bug. That's as simple as I can phrase it. Saying "I won't be arguing with a brick wall" (grammar fixed for you) is just disrespectful, and I think we will have to lock down this ticket. The last word should be, though, that we care about users here, and the change we made was necessary to take care of users' broken setups. There is little one can sensibly say to the contrary. |
Setup
defaults?
Details
Bash
Minimal, Complete, and Verifiable example
this will help us understand the issue.
See comments
Awk version in 2.15.1:
In 2.16:
This affects gerrit's
commit-msg
hook, which now adds an empty line between the footer and the Change-Id line. It also affects our own scripts.The text was updated successfully, but these errors were encountered: