diff options
Diffstat (limited to 'remove-binary-diff.pl')
-rwxr-xr-x | remove-binary-diff.pl | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/remove-binary-diff.pl b/remove-binary-diff.pl new file mode 100755 index 000000000..520ac5d73 --- /dev/null +++ b/remove-binary-diff.pl @@ -0,0 +1,32 @@ +#!/usr/bin/perl -w +# A script to remove those terrible binary diffs from the patches which +# screw up everything and rain on my parade. + +use strict; + +my @args=@ARGV; +my @current_patch; +my $is_binary = 0; +my $cnt = 0; + +while(my $row = <>) { + # diff marks the start of a new file to check + if ($row =~ /^diff --git.*?(\S+)$/) { + if (!$is_binary) { + foreach my $line (@current_patch) { + print $line; + } + } + $is_binary = 0; + @current_patch = (); + } elsif ($row =~ /Binary files (.)* differ$/) { + $is_binary = 1; + } + push (@current_patch, $row); +} + +if (!$is_binary) { + foreach my $line (@current_patch) { + print $line; + } +} |