diff options
Diffstat (limited to 'contrib/findMergedChanges.pl')
-rwxr-xr-x | contrib/findMergedChanges.pl | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/contrib/findMergedChanges.pl b/contrib/findMergedChanges.pl deleted file mode 100755 index d6c4105b74..0000000000 --- a/contrib/findMergedChanges.pl +++ /dev/null @@ -1,73 +0,0 @@ -#!/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", "--no-merges", "--pretty=format:%H", $branches, "--", $fname - or die "$!"; - my @changes = <F>; - return scalar @changes -} - -my $look_for_type = "merged"; - -if (! @ARGV) { - print <<EOF -Usage: - findMergedChanges.pl [--merged/--unmerged/--weird/--list] [--branch=<branchname] [--head=<branchname>] changes/* - -A change is "merged" if it has ever been merged to release-0.2.4 and it has had -no subsequent changes in master. - -A change is "unmerged" if it has never been merged to release-0.2.4 and it -has had changes in master. - -A change is "weird" if it has been merged to release-0.2.4 and it *has* had -subsequent changes in master. - -Suggested application: - findMergedChanges.pl --merged changes/* | xargs -n 1 git rm - -EOF -} - -my $target_branch = "origin/release-0.2.4"; -my $head = "origin/master"; - -while (@ARGV and $ARGV[0] =~ /^--/) { - my $flag = shift @ARGV; - if ($flag =~ /^--(weird|merged|unmerged|list)/) { - $look_for_type = $1; - } elsif ($flag =~ /^--branch=(\S+)/) { - $target_branch = $1; - } elsif ($flag =~ /^--head=(\S+)/) { - $head = $1; - } else { - die "Unrecognized flag $flag"; - } -} - -for my $changefile (@ARGV) { - my $n_merged = nChanges($target_branch, $changefile); - my $n_postmerged = nChanges("${target_branch}..${head}", $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; - } -} |