Hi community, In apache/dubbo, there are a great amount of source files using CR LF newline format due to Windows System.
If contributors change these files, the git and IDE will automatically reformat the files to LF newline format as default. It is possible for users to prevent this. That is setting `git config --global core.autocrlf false`[1], but this will cause IDE to warn users to remove this setting[2]. I have tried to create a patch[3] for this, but it just works for new contributors, who clone the repo after this pr. Git best practices recommend that all the files in repo are using LF newline format and not only Git client in Windows but Intellij IDEA has already made this action default for many years. There is a solution that is reformatting all source files at once and adding a restricted code format checker to prevent users from submitting CR LF newline format files. But this will cause that we cannot easily track the source file's history previous version by git blame[4]. In the file's history, there will be a node that changes all lines, but we can still find the real previous version by finding the reformatting commit's parent, which is the real version of the history. The reformatting commit will be a little like the pr[5][6] in dubbo-samples when removing golang samples. What do you think about this? Shall we make such a change to make all source files more cleaner. [1] https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration [2] https://blog.jetbrains.com/idea/2012/10/better-line-endings-managing-in-intellij-idea-12/ [3] https://github.com/apache/dubbo/pull/7229 [4] https://git-scm.com/docs/git-blame [5] https://github.com/apache/dubbo-samples/commit/19f02c2dc8a95cf18de33077bd1967ab048f462f [6] https://github.com/apache/dubbo-samples/commits/19f02c2dc8a95cf18de33077bd1967ab048f462f/dubbo-samples-annotation/src/main/java/org/apache/dubbo/samples/annotation/api/GreetingService.java Thanks, Albumen Kevin
