Refactor OperationService#commit_files into smaller methods, and handle arguments list more concisely
Summary
The OperationService#user_commit_files method is quite lengthy (65 lines) and has an extensive argument list (Metrics/ParameterLists
is disabled).
Improvements
One approach is suggested here.
In short, splitting the method into a few smaller methods, and refactoring the arguments list into commit settings/details objects.
There is also some upstream code that could be changed Models::Repository#commit_files
accepts a hash of options that could also use commit settings/details objects. This might be a huge change though, as Models::Repository#commit_files
is called from a number of places.
Edited by Fred Reinink