|  | @@ -0,0 +1,46 @@
 | 
	
		
			
				|  |  | +#!/usr/bin/perl
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +use warnings;
 | 
	
		
			
				|  |  | +use strict;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +sub nChanges {
 | 
	
		
			
				|  |  | +    my ($branches, $fname) = @_;
 | 
	
		
			
				|  |  | +    local *F;
 | 
	
		
			
				|  |  | +    # requires perl 5.8.  Avoids shell issues if we ever get a changes
 | 
	
		
			
				|  |  | +    # file named by the parents of Little Johnny Tables.
 | 
	
		
			
				|  |  | +    open F, "-|", "git", "log", "--pretty=format:%H", $branches, "--", $fname
 | 
	
		
			
				|  |  | +	or die "$!";
 | 
	
		
			
				|  |  | +    my @changes = <F>;
 | 
	
		
			
				|  |  | +    return scalar @changes
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +my $look_for_type = "merged";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +while (@ARGV and $ARGV[0] =~ /^--/) {
 | 
	
		
			
				|  |  | +    my $flag = shift @ARGV;
 | 
	
		
			
				|  |  | +    if ($flag =~ /^--(weird|merged|unmerged|list)/) {
 | 
	
		
			
				|  |  | +	$look_for_type = $1;
 | 
	
		
			
				|  |  | +    } else {
 | 
	
		
			
				|  |  | +	die "Unrecognized flag $flag";
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +for my $changefile (@ARGV) {
 | 
	
		
			
				|  |  | +    my $n_merged = nChanges("origin/release-0.2.2", $changefile);
 | 
	
		
			
				|  |  | +    my $n_postmerged = nChanges("origin/release-0.2.2..origin/master", $changefile);
 | 
	
		
			
				|  |  | +    my $type;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    if ($n_merged != 0 and $n_postmerged == 0) {
 | 
	
		
			
				|  |  | +	$type = "merged";
 | 
	
		
			
				|  |  | +    } elsif ($n_merged == 0 and $n_postmerged != 0) {
 | 
	
		
			
				|  |  | +	$type = "unmerged";
 | 
	
		
			
				|  |  | +    } else {
 | 
	
		
			
				|  |  | +	$type = "weird";
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    if ($type eq $look_for_type) {
 | 
	
		
			
				|  |  | +	print "$changefile\n";
 | 
	
		
			
				|  |  | +    } elsif ($look_for_type eq 'list') {
 | 
	
		
			
				|  |  | +	printf "% 8s: %s\n", $type, $changefile;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +}
 |