Proposal regarding handling of kernel configs

Elliott Mitchell ehem+openwrt at m5p.com
Wed Apr 26 13:14:54 PDT 2023


I propose changing how kernel configuration files are handled in Git.
Specifically, I propose all targets on the development branch should
*always* have "config-<oldver>" and "config-<newver>" files.  When
development moves off the older kernel, the configuration file should be
kept until the configuration file for the next version is created.

The reason is simple.  The present strategy breaks `git blame`.  Take a
look at what `git blame origin/master -- target/linux/x86/config-5.15`
produces.  According to that, everything was created at 7ef75445c57.
While this is strictly true, what one really wants is to know the history
of the individual lines.

Git can still retrieve that information, if you use
`git blame origin/master --find-copies-harder -- target/linux/x86/config-5.15`
but this is *much* slower.

If instead commit eea90d2dff had never happened.  Then at 7ef75445c57
the old configurations were removed, `git blame` would provide history
which went past 7ef75445c57 without the need for "--find-copies-harder"
(which is slow).

Note, this is *strictly* for development branches.  Release branches
(openwrt-XX.YY) would be free to purge all traces of older kernels.

It will take time to show the effect, but if the approach is used
consistently this will drastically increase the usefulness of
`git blame`.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg at m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445





More information about the openwrt-devel mailing list