Subject: Re: [PATCH] Makefile: add missing dependencies of 'config-list.h'

From: SZEDER Gábor <[email-masked]>
Date: Fri, 16 Apr 2021 23:33:56 +0200

On Fri, Apr 16, 2021 at 12:03:54PM -0700, Junio C Hamano wrote:
> SZEDER Gábor <[email-masked]> writes:
> 
> > On Thu, Apr 08, 2021 at 07:40:41PM -0400, Jeff King wrote:
> >> On Fri, Apr 09, 2021 at 12:08:23AM +0200, Ævar Arnfjörð Bjarmason wrote:
> >> 
> >> > > -config-list.h:
> >> > > +config-list.h: Documentation/*config.txt Documentation/config/*.txt
> >> > >  	$(QUIET_GEN)$(SHELL_PATH) ./generate-configlist.sh \
> >> > >  		>$@+ && mv $@+ $@
> >> > >  
> >> > >  command-list.h: generate-cmdlist.sh command-list.txt
> >> > >  
> >> > > -command-list.h: $(wildcard Documentation/git*.txt) Documentation/*config.txt Documentation/config/*.txt
> >> > > +command-list.h: $(wildcard Documentation/git*.txt)
> >> > >  	$(QUIET_GEN)$(SHELL_PATH) ./generate-cmdlist.sh \
> >> > >  		$(patsubst %,--exclude-program %,$(EXCLUDED_PROGRAMS)) \
> >> > >  		command-list.txt >$@+ && mv $@+ $@
> >> > 
> >> > This change makes sense.
> >> 
> >> I agree it looks like it's moving in the right direction, but I am
> >> slightly puzzled by the existing code. Why do we need to use $(wildcard)
> >> for git*.txt, but not for the others?
> >
> > We don't need $(wildcard) for git*.txt either, because 'make' expands
> > wildcards in prerequisites, see e.g.:
> >
> >   https://www.gnu.org/software/make/manual/html_node/Wildcard-Examples.html
> >
> >
> > On a related note: all config variables are now listed in
> > Documentation/config/*.txt; Documentation/*config.txt doesn't contain
> > any, so that could be removed.
> 
> Is it OK for me to keep expecting an update to the patch happen soon?

No, I think this is a good bugfix patch that stands on its own, and
further cleanups could be done independently on top and should not
block this patch from being merged to master.

I'm inclined to think that this should be merged and then
'so/log-diff-merge' should be queued on top because of the subtle
interaction between this bug, the new config variable and the
completion tests.