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: *//' > [email protected] > >> + @if test ! -e $@ || ! @DIFF@ -q [email protected] $@; \ > >> + then \ > >> + mv -f [email protected] $@; \ > >> + 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 _______________________________________________ Quilt-dev mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/quilt-dev
