A little bit ago I was looking for a function in our code base which would be able to give me a list of all the submodules which changed across a number of commits. I stumbled upon some of that logic in both our recurisve fetch and pull code paths. Problem is both of these code paths were performing almost identical tasks, without sharing any code. This series is meant as a cleanup to submodule.c in order to unify these two code paths as well as make it easier for future callers to be able to query for submodules which have chagned across a number of commits. Brandon Williams (6): submodule: rename add_sha1_to_array submodule: rename free_submodules_sha1s submodule: remove add_oid_to_argv submodule: change string_list changed_submodule_paths submodule: improve submodule_has_commits submodule: refactor logic to determine changed submodules submodule.c | 295 ++++++++++++++++++++++++++++-------------------------------- 1 file changed, 139 insertions(+), 156 deletions(-) -- 2.13.0.rc0.306.g87b477812d-goog