Repository navigation
[Internal] clang-format the whole repo #25955
Description
Activity
You can check current format change : gengjiawen@425befd
Showing 196 changed files with 14,443 additions and 15,533 deletions.
IMO that's way too much churn and will cause issues with backports and blaming.
Reacted by Anna Henningsen and snekIMO that's way too much churn and will cause issues with backports and blaming.
Actually prettier or eslint whole repo is common thing, we have git history for blaming part.
You can see other repo do the similar thing.- React: react/react@1843f87
325 changed files with 12,714 additions and 11,413 deletions. - Babel: babel/babel@e4b35f6
307 changed files with 6,764 additions and 4,102 deletions.
copyed from #16115 (comment)
I want to make cpp format easier in the long term.
Now if I have cpp format issue after I write the code. After clang-format the whole file, I have to revert the changes not related the change, that's quite a lot of work. I handle this a couple of times, not enjoy doing this at all tbh.- React: react/react@1843f87
I agree with @richardlau , that was the reason I dropped #16122 in favor of #21997 which used the git-clang-format script to only format diffs instead of the whole repo. Unlike React or Babel we have a LTS support scheme and backport as much as possible, which makes this kind of formatting less feasible. (The git-clang-format approach was borrowed from electron under the advice from @codebytere)
Now if I have cpp format issue after I write the code. After clang-format the whole file, I have to revert the changes not related the change, that's quite a lot of work. I handle this a couple of times, not enjoy doing this at all tbh.
You can use
git-clang-formatfor that, if you are on windows you can invoke the command manually (or add a shortcut similar tomake format-cpptovcbuild.bat). It could've been smarter if we had a convention to learn where the branch starts (like chromium'sgit cl format) but we do not have a complete toolchain to manage the life cycle of a PR branch yet.Reacted by Jiawen GengReacted by Jiawen Geng@joyeecheung Thanks for the info.
This is a sub task of #25908.
The whole repo means the
srcandtestfolder.What I want is that let's take more time focus on code itself instead of chores like formatting.
Thought
Do we need to change current
.clang-formatrules.You can check current format change : gengjiawen@425befd
Many prs may need rebase. So merge large cpp related prs first ?
cc @joyeecheung @addaleax @refack @bnoordhuis @jasnell @cjihrig