diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/tlpkg/TeXLive/TLPOBJ.pm | 11 | ||||
-rw-r--r-- | 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<recompute_revision($tltree)> +=item C<recompute_revision($tltree [, $revtlpsrc ])> 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<tlpsrc> file here so that collections (which do not +contain files) also have revision number. =item C<update_from_catalogue($texcatalogue)> 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; } |