Blame | Last modification | View Log | Download | RSS feed
#!/usr/bin/perlwhile ($fn=shift) {if ($fn eq '-i') { $ignore_oid=1; $fn=shift; }open IN, "$fn";open INN, "new/$fn";open OUT, ">$fn.new";while ($a = <INN>) {$b = <IN>;$an = $a; $an =~ s/oid:\d+/oid:/;$bn = $b; $bn =~ s/oid:\d+/oid:/;if ($an ne $bn) {if ($an =~ /^\/\* /) {while ($an ne $bn) {print OUT $a;last if (!($a = <INN>));$an = $a; $an =~ s/oid:\d+/oid:/;}print OUT $a;} else {if ($an =~ /\"(.*?)\" = \"(.*?)\"/) {$h=$1;if ($bn =~ /\"(.*?)\" = \"(.*?)\"/) {if ($h eq $1) {print OUT $b;} else {print STDERR "** [$fn] WARNING - different head mismatch, taking A:\nA: ${a}B: $b";print OUT $a;}}} else {print STDERR "** [$fn] WARNING - unknown mismatch, taking A:\nA: $an", "B: $bn";print OUT $a;}}} else {if ($ignore_oid) {print OUT $b;} else {print OUT $a;}}}close IN;close INN;}