Compare commits

..

2 Commits

Author SHA1 Message Date
Пётр 543d7bd3bf
Merge ebcedbc89b into dbcaeef1ac 2025-12-01 13:40:50 +01:00
Peter ebcedbc89b Fix --restore-properties in case of recursive replication 2025-12-01 00:10:25 +01:00
1 changed files with 28 additions and 7 deletions

23
syncoid
View File

@ -923,7 +923,22 @@ sub runsynccmd {
if (defined $args{'restore-properties'}) {
foreach my $key (keys %properties) {
my $value = $properties{$key};
my ($skey, $ikey) = split(/:/, $key);
my @parts = split(/:/, $key);
my $skey = "";
my $ikey = "";
my $is_recursive = 0;
if (@parts > 2) {
if($parts[0] eq 'syncoid' && $parts[1] eq 'syncoid') {
shift @parts;
$skey = $parts[0];
$ikey = join(':', @parts);
$is_recursive = 1;
}
} else {
$skey = $parts[0];
$ikey = $parts[1];
}
#my ($skey, $ikey) = split(/:/, $key);
if (!length($ikey)) {
my $skeypresent = 0;
foreach my $key1 (keys %properties) {
@ -942,6 +957,7 @@ sub runsynccmd {
}
}
} else {
if (!$is_recursive) {
if(!istargetpropertypresent($ikey)) {
if($value eq "*default*") {
writelog('DEBUG', "will unset $ikey ...");
@ -952,6 +968,11 @@ sub runsynccmd {
$recvoptions .= " -o $pair";
}
}
} else {
writelog('DEBUG', "will set $ikey to $value ...");
my $pair = escapeshellparam("$ikey=$value");
$recvoptions .= " -o $pair";
}
}
}
}