This version of this series drops the Makefile-powered version of the cmdlist in favor of making the shellscript much faster, mostly with suggestions from Jeff King. I still think that splitting out the generated data into files may be useful for unifying the Documentation/ and C code build processes, there's another custom parser for command-list.txt in Documentation/cmd-list.perl. But if and when I've got something for that I can dig that out of the v1, in the meantime the v1 of this should be mostly uncontroversial. The last tow patches make things a bit slower for me, but since they replace command invocations with pure-shell logic they presumably make things a bit less painful on e.g. Windows, and the 8th patch here already made things quite very fast already. Jeff King (1): generate-cmdlist.sh: do not shell out to "sed" Johannes Sixt (2): generate-cmdlist.sh: spawn fewer processes generate-cmdlist.sh: replace for loop by printf's auto-repeat feature Ævar Arnfjörð Bjarmason (7): command-list.txt: sort with "LC_ALL=C sort" generate-cmdlist.sh: trivial whitespace change generate-cmdlist.sh: don't call get_categories() from category_list() generate-cmdlist.sh: run "grep | sort", not "sort | grep" generate-cmdlist.sh: stop sorting category lines generate-cmdlist.sh: replace "grep' invocation with a shell version generate-cmdlist.sh: replace "cut", "tr" and "grep" with pure-shell command-list.txt | 20 +++++++------- generate-cmdlist.sh | 66 ++++++++++++++++++++++++++------------------- 2 files changed, 48 insertions(+), 38 deletions(-) Range-diff against v1: 1: 96885282988 = 1: 96885282988 command-list.txt: sort with "LC_ALL=C sort" 2: 5e8fef90e42 = 2: 5e8fef90e42 generate-cmdlist.sh: trivial whitespace change 3: 6b4de6a6088 = 3: 6b4de6a6088 generate-cmdlist.sh: spawn fewer processes 4: 074685cf714 = 4: 074685cf714 generate-cmdlist.sh: don't call get_categories() from category_list() 5: f01c1fd8088 = 5: f01c1fd8088 generate-cmdlist.sh: run "grep | sort", not "sort | grep" 6: e0b11514b8d = 6: e0b11514b8d generate-cmdlist.sh: replace for loop by printf's auto-repeat feature 7: 0c6f9b80d3b < -: ----------- Makefile: stop having command-list.h depend on a wildcard 8: 23d4cc77b6c < -: ----------- Makefile: assert correct generate-cmdlist.sh output -: ----------- > 7: f2f37c2963b generate-cmdlist.sh: stop sorting category lines -: ----------- > 8: 83318d6c0da generate-cmdlist.sh: do not shell out to "sed" -: ----------- > 9: 7903dd1f8c2 generate-cmdlist.sh: replace "grep' invocation with a shell version -: ----------- > 10: e10a43756d1 generate-cmdlist.sh: replace "cut", "tr" and "grep" with pure-shell -- 2.33.1.1505.g075a284c562