On Wed, Jun 02, 2021 at 11:20:35AM -0400, Mathieu Desnoyers wrote: > Hi, > > Following a discussion with Peter Zijlstra about whether code cleanup > and functional changes done to the Linux kernel scheduler belong to separate > patches or should be folded together, the argument for folding cleanup > and function changes came to be mainly motivated by the current behavior > of git blame: code cleanup patches end up burying the important changes so > it becomes cumbersome to find them using git blame. > > Considering the added value brought by splitting cleanups from functional changes > from a maintainer perspective (easier reverts) and from a reviewer perspective > (easier to focus on the functional changes), I think it would be good to improve > the git tooling to allow easily filtering out the noise from git blame. > > Perhaps a new git blame "--ignore-trivial" and/or "--ignore-cleanup" could solve > this by filtering out "trivial" and "cleanup" patches from the history it considers. > > Tagging patches as trivial and cleanup should be done in the patch commit message > (possibly in the title), and enforcing proper tagging of commits is already the > responsibility of the maintainer merging those cleanup/trivial commits into the > Linux kernel anyway. > > Under the hood, I suspect it could use something similar to git log --grep=<pattern> > --invert-grep. > > This should allow git blame users to easily filter out the noise and focus on the relevant > functional changes. > > Any maybe the patterns associated to "cleanup" and "trivial" commits should be something > that can be configured through a git config file. > > Thoughts ? Just an observation: quite a few subtle bugs arise from mistakes in what should've been a trivial cleanup. Hell, I've seen bugs coming from rebase of provably no-op patches - with commit message unchanged. So IME this is counterproductive...