Re: [PATCH 8/4] check-docs: get documented command list from Makefile
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Aug 8, 2012, 21:35 UTC
- Message-ID
- <7vwr19qd79.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20120808205752.GD12838@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 10 quoted lines
> The current code tries to get a list of documented commands > by doing "ls Documentation/git*txt" and culling a bunch of > special cases from the result. Looking for "git-*.txt" would > be more accurate, but would miss a few commands like > "gitweb" and "gitk". > > Fortunately, Documentation/Makefile already knows what this > list is, so we can just ask it. Annoyingly, we still have to > post-process its output a little, since make will print > extra cruft like "GIT-VERSION-FILE is up to date" to stdout.
Yeah, traditional way to do this is to give special markers around what you want your Makefile to tell you, e.g.
sayit:
echo "@@@ $(FOO) ###"
useit:
$(MAKE) sayit | \
sed -ne 's/^@@@ \(.*\) ###$/\1/p' | \
... use it ...but in this case we know we want "*.txt", so the way you filtered the output is sufficient.
Show 7 quoted lines
> Now that our list is accurate, we can remove all of the ugly > special-cases. > > Signed-off-by: Jeff King <peff@peff.net> > --- > Documentation/Makefile | 3 +++ > Makefile | 26 ++------------------------
Yay, maintainability comes with a large line reduction bonus ;-)
Thanks.