On Fri, May 15, 2020 at 12:04:46PM +0200, Christian Couder wrote: > As we cleanup 'upload-pack.c' by using 'struct upload_pack_data' > more thoroughly, let's pass 'struct upload_pack_data' to > get_common_commits(), so that this function and the functions > it calls can use all the fields of that struct in followup > commits. This one is optional, I think. We're not removing any globals nor moving towards removing any (I don't think), because we're really just replacing two object_array parameters with the big data struct: > -static int get_common_commits(struct packet_reader *reader, > - struct object_array *have_obj, > - struct object_array *want_obj) > +static int get_common_commits(struct upload_pack_data *data, > + struct packet_reader *reader) I say "I don't think" because it's possible that get_common_commits() could use one of the other fields (or pass it to another function) in a later patch. But I don't see it. So I think one _could_ argue that it should continue to take the minimum set of arguments it needs. I doubt it would ever be useful outside of the context of upload_pack, so I think in practice it doesn't matter much (beyond perhaps documenting which parts of the global data it needs). So I don't feel strongly either way. -Peff