@@ -73,7 +73,19 @@ for my $id ($local->deleted_ids)
73
73
{
74
74
if (defined $remote -> {modified }-> {$id })
75
75
{
76
- push @errors , " $ARGV [1] deleted entity #$id modified in $ARGV [2]!" ;
76
+ my ($remote_class ) = $remote -> class_attributes($id );
77
+ if ($remote_class =~ / ^IfcRel/i )
78
+ {
79
+ # IfcRelationship may be deleted overzealously, reinsert empty
80
+ $local -> {file }-> {$id } = $remote -> {file }-> {$id };
81
+ $local -> {file }-> {$id } =~ s /\( [0-9#,]+\) / \(\) / ;
82
+ delete $local -> {deleted }-> {$id };
83
+ $local -> {modified }-> {$id } = 1;
84
+ }
85
+ else
86
+ {
87
+ push @errors , " $ARGV [1] deleted entity #$id modified in $ARGV [2]!" ;
88
+ }
77
89
}
78
90
else
79
91
{
@@ -84,7 +96,19 @@ for my $id ($remote->deleted_ids)
84
96
{
85
97
if (defined $local -> {modified }-> {$id })
86
98
{
87
- push @errors , " $ARGV [2] deleted entity #$id modified in $ARGV [1]!" ;
99
+ my ($local_class ) = $local -> class_attributes($id );
100
+ if ($local_class =~ / ^IfcRel/i )
101
+ {
102
+ # IfcRelationship may be deleted overzealously, reinsert empty
103
+ $remote -> {file }-> {$id } = $local -> {file }-> {$id };
104
+ $remote -> {file }-> {$id } =~ s /\( [0-9#,]+\) / \(\) / ;
105
+ delete $remote -> {deleted }-> {$id };
106
+ $remote -> {modified }-> {$id } = 1;
107
+ }
108
+ else
109
+ {
110
+ push @errors , " $ARGV [2] deleted entity #$id modified in $ARGV [1]!" ;
111
+ }
88
112
}
89
113
else
90
114
{
0 commit comments