quilt-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Quilt-dev] [PATCH 1/3] Avoid unnecessary rebuilds of the manpage an


From: Jean Delvare
Subject: Re: [Quilt-dev] [PATCH 1/3] Avoid unnecessary rebuilds of the manpage and README
Date: Wed, 03 Jun 2015 15:17:10 +0200

Le Wednesday 03 June 2015 à 14:52 +0200, Michal Marek a écrit :
> On 2015-06-03 14:43, Michal Marek wrote:
> > On 2015-06-03 14:39, Jean Delvare wrote:
> >> Would the following alternative implementation work for you?
> >>
> >> ---
> >>  Makefile.in |    6 +++++-
> >>  1 file changed, 5 insertions(+), 1 deletion(-)
> >>
> >> --- a/Makefile.in
> >> +++ b/Makefile.in
> >> @@ -225,7 +225,11 @@ doc/reference : bin/quilt $(QUILT:%=quil
> >>    done |                                                          \
> >>    $(SED) -e 's/\$$EDITOR ([^)]*)/$$EDITOR/'                       \
> >>           -e '/^$$/!s/^/  /'                                       \
> >> -         -e 's/^  Usage: *//' > $@
> >> +         -e 's/^  Usage: *//' > address@hidden
> >> +  @if test ! -e $@ || ! @DIFF@ -q address@hidden $@;                      
> >> \
> >> +  then                                                            \
> >> +          mv -f address@hidden $@;                                        
> >> \
> >> +  fi
> > 
> > Yes.
> 
> I take that back. This patch suffers from the same problem as an earlier
> version of mine: As soon as there is a change to one of the scripts, the
> 'reference' file will be regenerated on every make invocation, which
> takes some time (split second, but still noticeable). That's why I added
> the persistent .tmp file in the version I sent.

My testing says otherwise:

$ touch quilt/setup.in 
$ make
quilt/setup.in -> quilt/setup
$

If doc/reference was regenerated then we would see README and quilt.1
being regenerated too, which isn't the case above.

So doc/reference.tmp is regenerated (how would it not be if any script
changed?) but doc/reference is not.

That being said...

> It makes the temporary file non-persistent so we don't have to put it
> in .gitignore, nor in $DIRT (which you had forgotten in your patch
> BTW.)

... what I wrote above was incorrect. If reference doesn't need to be
updated then reference.tmp needs to be deleted somehow, which my patch
doesn't do. So the file must either be added to .gitignore and $DIRT, or
an explicit @RM@ is required.

-- 
Jean Delvare
SUSE L3 Support




reply via email to

[Prev in Thread] Current Thread [Next in Thread]