You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
913 B
54 lines
913 B
$infilename = shift; |
|
$outfilename1 = shift; |
|
$outfilename2 = shift; |
|
open INPUT, $infilename || die; |
|
@input = <INPUT>; |
|
close INPUT; |
|
|
|
open MERGEDMINE, ">$outfilename1" || die; |
|
open MERGEDTHEIRS, ">$outfilename2" || die; |
|
|
|
for( $i = 0; $i < scalar( @input ); $i++ ) |
|
{ |
|
$line = $input[$i]; |
|
|
|
if( $line =~ m/^(.*)<<<<<<</ ) |
|
{ |
|
$first = 1; |
|
$second = 0; |
|
print MERGEDMINE $1; |
|
print MERGEDTHEIRS $1; |
|
next; |
|
} |
|
# Make sure that we are in a split block so that comments with ======= don't mess us up. |
|
if( $line =~ m/^(.*)=======$/ && $first == 1 ) |
|
{ |
|
$first = 0; |
|
$second = 1; |
|
print MERGEDMINE $1; |
|
next; |
|
} |
|
if( $line =~ m/^(.*)>>>>>>>/ ) |
|
{ |
|
$first = $second = 0; |
|
print MERGEDTHEIRS $1; |
|
next; |
|
} |
|
|
|
if( $first ) |
|
{ |
|
print MERGEDMINE $line; |
|
} |
|
elsif( $second ) |
|
{ |
|
print MERGEDTHEIRS $line; |
|
} |
|
else |
|
{ |
|
print MERGEDMINE $line; |
|
print MERGEDTHEIRS $line; |
|
} |
|
} |
|
|
|
close MERGEDMINE; |
|
close MERGEDTHEIRS;
|
|
|