+1. Dubbo 3.0 is a chance to fix this particular issue completely. -Ian.
On Sat, May 22, 2021 at 4:35 PM Albumen Kevin <[email protected]> wrote: > 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 >
