|
|
605570b |
#!/bin/perl
|
|
|
605570b |
|
|
|
605570b |
sub adjust {
|
|
|
605570b |
my $newLine = $_[0];
|
|
|
605570b |
my @neg = @{$_[1]};
|
|
|
605570b |
my @pos = @{$_[2]};
|
|
|
605570b |
my $found = 0;
|
|
|
605570b |
my @newneg = ();
|
|
|
605570b |
|
|
|
605570b |
foreach my $cline (@neg) {
|
|
|
605570b |
if ($cline eq $newLine) {
|
|
|
605570b |
$found = 1;
|
|
|
605570b |
} else {
|
|
|
605570b |
push(@newneg ,$cline );
|
|
|
605570b |
}
|
|
|
605570b |
}
|
|
|
605570b |
if (! $found ) {
|
|
|
605570b |
push(@pos, $newLine);
|
|
|
605570b |
}
|
|
|
605570b |
@neg=@newneg;
|
|
|
605570b |
}
|
|
|
605570b |
|
|
|
605570b |
sub removeLine {
|
|
|
605570b |
my $newLine = $_[0];
|
|
|
605570b |
my @neg = @{$_[1]};
|
|
|
605570b |
my $found = 0;
|
|
|
605570b |
my @newneg = ();
|
|
|
605570b |
|
|
|
605570b |
foreach my $cline (@neg) {
|
|
|
605570b |
if ($found) {
|
|
|
605570b |
push(@newneg ,$cline );
|
|
|
605570b |
} elsif ($cline eq $newLine) {
|
|
|
605570b |
$found = 1;
|
|
|
605570b |
} else {
|
|
|
605570b |
push(@newneg ,$cline );
|
|
|
605570b |
}
|
|
|
605570b |
}
|
|
|
605570b |
return @newneg;
|
|
|
605570b |
}
|
|
|
605570b |
|
|
|
605570b |
sub filter {
|
|
|
605570b |
my @list = @{$_[0]};
|
|
|
605570b |
my $string = $_[1];
|
|
|
605570b |
my @filteredList = ();
|
|
|
605570b |
foreach my $cline (@list) {
|
|
|
605570b |
if ($cline =~ m/$string/) {
|
|
|
605570b |
push(@filteredList ,$cline );
|
|
|
605570b |
}
|
|
|
605570b |
}
|
|
|
605570b |
return @filteredList;
|
|
|
605570b |
}
|
|
|
605570b |
|
|
|
605570b |
sub lineExists {
|
|
|
605570b |
my $newLine = $_[0];
|
|
|
605570b |
my @neg = @{$_[1]};
|
|
|
605570b |
|
|
|
605570b |
foreach my $cline (@neg) {
|
|
|
605570b |
if ($cline eq $newLine) {
|
|
|
605570b |
return 1;
|
|
|
605570b |
}
|
|
|
605570b |
}
|
|
|
605570b |
return 0;
|
|
|
605570b |
}
|
|
|
605570b |
|
|
|
605570b |
sub lineExists {
|
|
|
605570b |
my $newLine = $_[0];
|
|
|
605570b |
my @neg = @{$_[1]};
|
|
|
605570b |
|
|
|
605570b |
foreach my $cline (@neg) {
|
|
|
605570b |
if ($cline eq $newLine) {
|
|
|
605570b |
return 1;
|
|
|
605570b |
}
|
|
|
605570b |
}
|
|
|
605570b |
return 0;
|
|
|
605570b |
}
|
|
|
605570b |
|
|
|
605570b |
sub printeach {
|
|
|
605570b |
my @args = @{$_[0]};
|
|
|
605570b |
foreach my $arg (@args) {
|
|
|
605570b |
chomp $arg;
|
|
|
605570b |
print " $arg\n";
|
|
|
605570b |
}
|
|
|
605570b |
}
|
|
|
605570b |
|
|
|
605570b |
open my $handle, "git diff certdata.txt|";
|
|
|
605570b |
my @diff_lines = <$handle>;
|
|
|
605570b |
close $handle;
|
|
|
605570b |
my @adds = ();
|
|
|
605570b |
my @subs = ();
|
|
|
605570b |
foreach my $line (@diff_lines) {
|
|
|
605570b |
$type = substr $line,0,1;
|
|
|
605570b |
$lline = substr $line,1;
|
|
|
605570b |
if ($type eq "+") {
|
|
|
605570b |
if (lineExists($lline, \@subs)) {
|
|
|
605570b |
@subs = removeLine($lline,\@subs);
|
|
|
605570b |
} else {
|
|
|
605570b |
push(@adds, $lline);
|
|
|
605570b |
}
|
|
|
605570b |
};
|
|
|
605570b |
if ($type eq "-") {
|
|
|
605570b |
if (lineExists($lline, \@adds)) {
|
|
|
605570b |
@adds = removeLine($lline,\@adds);
|
|
|
605570b |
} else {
|
|
|
605570b |
push(@subs, $lline);
|
|
|
605570b |
}
|
|
|
605570b |
};
|
|
|
605570b |
}
|
|
|
605570b |
|
|
|
605570b |
my @tmp = filter(\@subs, "# Certificate");
|
|
|
605570b |
if (@tmp) {
|
|
|
605570b |
print " Removing: \n";
|
|
|
605570b |
printeach(\@tmp);
|
|
|
605570b |
}
|
|
|
605570b |
my @tmp = filter(\@adds, "# Certificate");
|
|
|
605570b |
if (@tmp) {
|
|
|
605570b |
print " Adding: \n";
|
|
|
605570b |
printeach(\@tmp);
|
|
|
605570b |
}
|