From: Junio C Hamano Date: Fri, 6 Apr 2007 05:17:20 +0000 (-0700) Subject: Documentation: tighten dependency for git.{html,txt} X-Git-Tag: v1.5.1.1~12 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=d79073922fcb8c8a0bd57112817a2154f1ed05c1;p=git.git Documentation: tighten dependency for git.{html,txt} Every time _any_ documentation page changed, cmds-*.txt files were regenerated, which caused git.{html,txt} to be remade. Try not to update cmds-*.txt files if their new contents match the old ones. Signed-off-by: Junio C Hamano --- diff --git a/Documentation/Makefile b/Documentation/Makefile index 7db3fb992..ad87736b0 100644 --- a/Documentation/Makefile +++ b/Documentation/Makefile @@ -85,14 +85,17 @@ cmds_txt = cmds-ancillaryinterrogators.txt \ cmds-purehelpers.txt \ cmds-foreignscminterface.txt -$(cmds_txt): cmd-list.perl $(MAN1_TXT) +$(cmds_txt): cmd-list.made + +cmd-list.made: cmd-list.perl $(MAN1_TXT) perl ./cmd-list.perl + date >$@ git.7 git.html: git.txt core-intro.txt clean: rm -f *.xml *.html *.1 *.7 howto-index.txt howto/*.html doc.dep - rm -f $(cmds_txt) + rm -f $(cmds_txt) *.made %.html : %.txt $(ASCIIDOC) -b xhtml11 -d manpage -f asciidoc.conf $(ASCIIDOC_EXTRA) $< diff --git a/Documentation/cmd-list.perl b/Documentation/cmd-list.perl index b54382b2b..0381590d3 100755 --- a/Documentation/cmd-list.perl +++ b/Documentation/cmd-list.perl @@ -1,8 +1,11 @@ -# +#!/usr/bin/perl -w + +use File::Compare qw(compare); sub format_one { my ($out, $name) = @_; my ($state, $description); + $state = 0; open I, '<', "$name.txt" or die "No such file $name.txt"; while () { if (/^NAME$/) { @@ -55,7 +58,14 @@ for my $cat (qw(ancillaryinterrogators format_one(\*O, $_); } close O; - rename "$out+", "$out"; + + if (-f "$out" && compare("$out", "$out+") == 0) { + unlink "$out+"; + } + else { + print STDERR "$out\n"; + rename "$out+", "$out"; + } } __DATA__