Jeff King [off-list ref] writes:
Overall I suspect that running our cmd_*() functions multiple times in a
single process is already going to cause chaos, because they often are
touching static globals, etc. So it's probably not that big a deal in
practice to add one more variable to the list, and declare that calling
cmd_ls_files() anywhere except as the main function of ls-files is
forbidden.
IIRC there were a few existing violators of this rule around "merge"
implementation. It may be a reasonably low hanging fruit to find
and fix them.
#leftoverbits