I was thinking that if the check says that there is no problem then apply would be a noop.
I have the impression that source releases are necessary and obligatory so that the ASF is covered from a legal perspective. If I am not mistaken even companies with closed source code are obliged to release the sources (to some 3rd party) so that if for some reason the company closes the clients which bought the software have a way to recover the code and make changes if necessary. I don't know much about legal stuff but I guess something similar holds for the ASF. So even if nobody uses the source releases it is necessary to provide one. As you said it might be helpful for a few people to have the sources with different line endings but given that nobody asked for it till now we could skip it and keep our release process simpler. On Thu, Dec 26, 2019 at 10:44 AM Vladimir Sitnikov < [email protected]> wrote: > Stamatis>I guess there are people who use Windows and they still have their > editors > Stamatis>configured to use LF endings. > > LF / CRLF uses Git configuration to figure out the needed line endings. > In other words, if someone configures Git to use LF rather than "platform" > line endings, > the build would pick that up and accept LF files even in case the platform > is Windows. > > Remember there's not just `check`, but there's `apply` as well. > If we make `check` tolerable to wrong line endings, what do we do with > `apply`? > Does that mean `check` would say "it is all ok", and `apply` would change > all the endings to their expected values? > > Note: if we are going to make that kind of changes, we'll need > "[CALCITE-3623] Replace Spotless with Autostyle" > https://github.com/apache/calcite/pull/1682 > > Stamatis>opensource projects it is kind of rare to release > Stamatis>source code in multiple formats with different line endings > > Frankly speaking, I would say it is rare to treat the source code as the > primary release artifact. > > AFAIK the ASF way is to treat the source as the key release item. > I recon in 99.42% of the times people who consume the source release would > commit that to their VCS (Git? Mercurial? SVN? Fossil?) > > Our source release does include .gitattributes and .gitignore, so it would > help people to import Calcite in their Git repositories. > However, for other VCS it is important to have the source files in their > "platform-expected" format. > > It is where having both CRLF-oriented and LF-oriented source releases help. > > At this point, you might say: "Vladimir, no-one imports Calcite source > releases to their VCS repositories". > It might be true, but what is the point of making a source release then? > Is the policy of making source releases outdated? > > Stamatis>other weird behavior but these should not happen very often. > > Well, having .gitattributes does help a lot, but I remember that if one > messes up with line endings, then it might be very hard to diff and > re-commit the file appropriately. > It is like the case when `git reset --hard` does not help. > That is why it really helps when you can identify those issues early. > > Vladimir >
