
| Current Path : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Version/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/web-klick.de/dsh/50_dev2017/1300__perllib/Version/Diff.pm |
package Version::Diff;
use strict;
sub new {
my $class = shift;
my $self = {};
$self->{'OBJ'} = shift;
bless($self,$class);
return($self);
}
#*******************************************************
sub merge_diff {
my $self = shift;
my $main = shift;
my $not_resolved = shift;
if ($self->predecessor()->equal($self)) {
return($main);
}
my $parts_dev = $self->parts();
my $parts_main = $main->parts():
foreach $name (keys %$parts_dev) {
if ($parts_main->{$name}) {
$merge_result->{$name}
my $parts_main = $main->parts();
# If main or dev obj is atomic, merge manually
if (!$parts_dev or !$parts_main) {
return( [$self,$main] );
}
$merge_result = {}; # Here the new merged parts take place
foreach $name (keys %$parts_dev) {
if ($parts_main->{$name}) {
$merge_result->{$name} = $parts_dev->{$name}->merge(
$parts_main->{$name});
);
delete ($parts_dev->{$name});
delete ($parts_main->{$name});
} else {
$merge_result->{$name} = $parts_dev->{$name};
}
}
return($self->construct($merge_result));
}
#*******************************************************************
1;