From 1c52ac9208bfcce5ea0e8979609988897125a729 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 7 Nov 2007 08:20:36 +0000 Subject: - add an optional argument to TLPOBJ->recompute_revision which is an additional number to be taken into account - add the revision number of the tlpsrc files of collections/schemes to the make_tlpobj function call to tlp->recompute_revision Thus, collections and schemes should not have revision 0 any more git-svn-id: svn://tug.org/texlive/trunk@5388 c570f23f-e606-0410-a88d-b1316a301751 --- Master/tlpkg/TeXLive/TLPOBJ.pm | 11 +++++++++-- Master/tlpkg/TeXLive/TLPSRC.pm | 9 ++++++++- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/Master/tlpkg/TeXLive/TLPOBJ.pm b/Master/tlpkg/TeXLive/TLPOBJ.pm index dcd22ff99eb..cdaa93b2db2 100644 --- a/Master/tlpkg/TeXLive/TLPOBJ.pm +++ b/Master/tlpkg/TeXLive/TLPOBJ.pm @@ -199,13 +199,16 @@ sub from_fh { } sub recompute_revision { - my ($self,$tltree) = @_; + my ($self,$tltree, $revtlpsrc) = @_; my @files = $self->all_files; my $filemax = 0; foreach my $f (@files) { $filemax = $tltree->file_svn_lastrevision($f); $self->revision(($filemax > $self->revision) ? $filemax : $self->revision); } + if (defined($revtlpsrc)) { + $self->revision( $filemax > $revtlpsrc ? $filemax : $revtlpsrc ); + } } sub recompute_sizes { @@ -930,9 +933,13 @@ which the files should be taken. recomputes the sizes based on the information present in C<$tltree>. -=item C +=item C recomputes the revision based on the information present in C<$tltree>. +The optional argument C<$rectlpsrc> can be an additional revision number +which is taken into account. C<$tlpsrc->make_tlpobj> adds the revision +number of the C file here so that collections (which do not +contain files) also have revision number. =item C diff --git a/Master/tlpkg/TeXLive/TLPSRC.pm b/Master/tlpkg/TeXLive/TLPSRC.pm index f1afcbdc550..030846abe6e 100644 --- a/Master/tlpkg/TeXLive/TLPSRC.pm +++ b/Master/tlpkg/TeXLive/TLPSRC.pm @@ -317,8 +317,15 @@ sub make_tlpobj $tlp->remove_binfiles($arch,@{$archmatches{$arch}}); } } + # for collections and schemes we add the revision number of the .tlpsrc + # file to the compute list: + my $addnr = 0; + if (($self->category eq "Collection") || ($self->category eq "Scheme")) { + my $fn = "tlpk/tlpsrc/" . $self->name . ".tlpsrc"; + $addnr = $tltree->file_svn_lastrevision($fn); + } + $tlp->recompute_revision($tltree, $addnr); $tlp->recompute_sizes($tltree); - $tlp->recompute_revision($tltree); return $tlp; } -- cgit v1.2.3