From 8c989ec5288021e07c265882f86ac3999b44c142 Mon Sep 17 00:00:00 2001
From: Junio C Hamano <junkio@cox.net>
Date: Thu, 13 Apr 2006 00:17:19 -0700
Subject: [PATCH] Makefile: $(MAKE) check-docs

This target lists undocumented commands, and/or whose document
is not referenced from the main git documentation.

For now, there are some exceptions I added primarily because I
lack the energy to document them myself:

 - merge backends (we should really document them)
 - ssh-push/ssh-pull (does anybody still use them?)
 - annotate and blame (maybe after one of them eats the other ;-)

Signed-off-by: Junio C Hamano <junkio@cox.net>
---
 Makefile | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/Makefile b/Makefile
index e6ef41d702..1130af4f38 100644
--- a/Makefile
+++ b/Makefile
@@ -665,3 +665,23 @@ clean:
 .PHONY: all install clean strip
 .PHONY: .FORCE-GIT-VERSION-FILE TAGS tags
 
+### Check documentation
+#
+check-docs::
+	@for v in $(ALL_PROGRAMS) $(BUILT_INS) git$X gitk; \
+	do \
+		case "$$v" in \
+		git-annotate | git-blame | \
+		git-merge-octopus | git-merge-ours | git-merge-recursive | \
+		git-merge-resolve | git-merge-stupid | \
+		git-ssh-pull | git-ssh-push ) continue ;; \
+		esac ; \
+		test -f "Documentation/$$v.txt" || \
+		echo "no doc: $$v"; \
+		grep -q "^gitlink:$$v\[[0-9]\]::" Documentation/git.txt || \
+		case "$$v" in \
+		git) ;; \
+		*) echo "no link: $$v";; \
+		esac ; \
+	done | sort
+
-- 
2.40.0