Thomas Gummerer <t.gummerer@xxxxxxxxx> writes: > Make parse_git_header a "public" function in apply.h, so we can re-use > it in range-diff in a subsequent commit. > > Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx> > --- Thanks for these refactoring patches on "apply" machinery in the early part of the series. I noticed two small things, though. - The apply_state instance *does* represent a state and various fields get updated as we read and process the patch. The smaller structure you invented, on the other hand, does not carry any "state" at all. Even its "linenr" field does not get incremented as we read/process---you create a new copy to take a snapshot of the current state from apply_state. parse_git_header_data may have been a name that reflects the nature of the structure better. - I wonder if it makes the concept clearer if you did not create a new instance outside the apply_state, but instead replaced the three fields in the apply_state with an instance of this new structure. When you call an API function with shrunk interface, you'd pass a pointer to a field inside the apply_state instance, instead of copying three fields manually. But other than that, I think these patches are generally moving bits in the right direction. I do not have strong opinions on the later part of the series on range-diff proper. Thanks.