Once upon a time, the kernel was just a series of patches. These days, git manages most of the kernel. git can do many useful things, such as maintain binary files. Binary file changes are not easily expressed in patches and can't be applied without using git. Remove the binary diffs from any snapshot or -rc patches. We will eventually pick up the changes/deletions in the final release tarball.
		
			
				
	
	
		
			33 lines
		
	
	
		
			632 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			632 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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;
 | |
| 	}
 | |
| }
 |