Revision bef56e29
Von Tamino Steinert vor etwa 1 Jahr hinzugefügt
SL/File.pm | ||
---|---|---|
@fileobjs = $self->get_all(%params);
|
||
}
|
||
foreach my $fileobj (@fileobjs) {
|
||
$main::lxdebug->message(LXDebug->DEBUG2(), "obj=" . $fileobj . " id=" . $fileobj->id." versions=".$fileobj->version_count);
|
||
my $maxversion = $fileobj->version_count;
|
||
$fileobj->version($maxversion);
|
||
my @file_versions = reverse @{$fileobj->loaded_db_file->file_versions_sorted};
|
||
my $latest_file_version = shift @file_versions;
|
||
$fileobj->version($latest_file_version->version);
|
||
push @versionobjs, $fileobj;
|
||
if ($maxversion > 1) {
|
||
for my $version (2..$maxversion) {
|
||
$main::lxdebug->message(LXDebug->DEBUG2(), "clone for version=".($maxversion-$version+1));
|
||
eval {
|
||
my $clone = $fileobj->clone;
|
||
$clone->version($maxversion-$version+1);
|
||
$clone->newest(0);
|
||
$main::lxdebug->message(LXDebug->DEBUG2(), "clone version=".$clone->version." mtime=". $clone->mtime);
|
||
push @versionobjs, $clone;
|
||
1;
|
||
} or do {$::lxdebug->message(LXDebug::WARN(), "clone for version=".($maxversion-$version+1) . "failed: " . $@)};
|
||
}
|
||
foreach my $file_version (@file_versions) {
|
||
my $clone = $fileobj->clone;
|
||
$clone->version($file_version->version);
|
||
$clone->newest(0);
|
||
push @versionobjs, $clone;
|
||
}
|
||
}
|
||
return @versionobjs;
|
Auch abrufbar als: Unified diff
SL::File: Versionsnummber über file_version bestimmen