check-docs: really look at the documented commands again

As part of the `check-docs` target, we verify that commands that are documented are actually in the current list of commands to be built. However, this logic broke in 5fafce0b78 (check-docs: get documented command list from Makefile, 2012-08-08), when we tried to make the logic safer by not looking at the files in the worktree, but at the list of files to be generated in `Documentation/Makefile`. While this was the right thing to do, it failed to accommodate for the fact that `make -C Documentation/ print-man1`, unlike `ls Documentation/*.txt`, would *not* print lines starting with the prefix `Documentation/`. At long last, let's fix this. Note: This went undetected due to a funny side effect of the `ALL_PROGRAMS` variable starting with a space. That space, together with the extra space we inserted before `$(ALL_PROGRAMS)` in the case " $(ALL_PROGRAMS)" in *" $$cmd ") [...] construct, is responsible that this case arm is used when `cmd` is empty (which was clearly not intended to be the case). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Johannes Schindelin committed Mar 25, 2019 at 14:41 UTC 057ccba593142e23338d9ff7409ab1cf20f25654
1 file changed +1 -1
Makefile
+1 -1
@@ -3082,7 +3082,7 @@ check-docs::
3082 -e 's/^/listed /' command-list.txt; \
3083 $(MAKE) -C Documentation print-man1 | \
3084 grep '\.txt$$' | \
3085 - sed -e 's|Documentation/|documented |' \
3085 + sed -e 's|^|documented |' \
3086 -e 's/\.txt//'; \
3087 ) | while read how cmd; \
3088 do \