First of all, I couldn't apply these patches neither on latest master (86ab15cb15 ("The fourth batch", 2020-04-28)) nor on its 2 immediate ancestors - what is the base of these patches? (Or is there something wrong with my workflow?) I'll review based on the patches themselves, but what I've seen looks good so far. > diff --git a/builtin.h b/builtin.h > index 2b25a80cde..2e701a023c 100644 > --- a/builtin.h > +++ b/builtin.h > @@ -5,6 +5,7 @@ > #include "strbuf.h" > #include "cache.h" > #include "commit.h" > +#include "shallow.h" It's a pity that builtin.h has to be modified in this way, but I see that it's necessary - a few files that include builtin.h (at least git.c and builtin/bisect--helper.c) assume that they have shallow function access through this header. Once I manage to apply these patches myself, I'll verify with --color-moved that the lines moved as I expect, but otherwise patch 1 and 2 look good.