diff options
| -rwxr-xr-x | tools/git-notify | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/tools/git-notify b/tools/git-notify index 088a5804..85142965 100755 --- a/tools/git-notify +++ b/tools/git-notify | |||
| @@ -69,6 +69,9 @@ my $gitweb_url = git_config( "notify.baseurl" ); | |||
| 69 | # abbreviate the SHA1 name within gitweb URLs (can be set with the -z option) | 69 | # abbreviate the SHA1 name within gitweb URLs (can be set with the -z option) |
| 70 | my $abbreviate_url = git_config( "notify.shorturls" ); | 70 | my $abbreviate_url = git_config( "notify.shorturls" ); |
| 71 | 71 | ||
| 72 | # don't report merge commits (can be set with the -X option) | ||
| 73 | my $ignore_merges = git_config( "notify.ignoremerges" ); | ||
| 74 | |||
| 72 | # enable compatibility with SourceForge's gitweb (can be set with the -S option) | 75 | # enable compatibility with SourceForge's gitweb (can be set with the -S option) |
| 73 | my $sourceforge = git_config( "notify.sourceforge" ); | 76 | my $sourceforge = git_config( "notify.sourceforge" ); |
| 74 | 77 | ||
| @@ -99,9 +102,6 @@ my $state_file = git_config( "notify.statefile" ); | |||
| 99 | # umask for creating the state file (can be set with -U option) | 102 | # umask for creating the state file (can be set with -U option) |
| 100 | my $mode_mask = git_config( "notify.umask" ) || 002; | 103 | my $mode_mask = git_config( "notify.umask" ) || 002; |
| 101 | 104 | ||
| 102 | # Extra options to git rev-list | ||
| 103 | my @revlist_options; | ||
| 104 | |||
| 105 | sub usage() | 105 | sub usage() |
| 106 | { | 106 | { |
| 107 | print "Usage: $0 [options] [--] old-sha1 new-sha1 refname\n"; | 107 | print "Usage: $0 [options] [--] old-sha1 new-sha1 refname\n"; |
| @@ -145,7 +145,7 @@ sub git_rev_list(@) | |||
| 145 | die "Cannot open pipe: $!" if not defined $pid; | 145 | die "Cannot open pipe: $!" if not defined $pid; |
| 146 | if (!$pid) | 146 | if (!$pid) |
| 147 | { | 147 | { |
| 148 | exec "git", "rev-list", "--reverse", @revlist_options, @args or die "Cannot execute rev-list: $!"; | 148 | exec "git", "rev-list", "--reverse", @args or die "Cannot execute rev-list: $!"; |
| 149 | } | 149 | } |
| 150 | while (<REVLIST>) | 150 | while (<REVLIST>) |
| 151 | { | 151 | { |
| @@ -181,6 +181,7 @@ sub get_new_commits($$) | |||
| 181 | 181 | ||
| 182 | @args = ( "^$old_sha1" ) unless $old_sha1 eq '0' x 40; | 182 | @args = ( "^$old_sha1" ) unless $old_sha1 eq '0' x 40; |
| 183 | push @args, $new_sha1, @exclude_list; | 183 | push @args, $new_sha1, @exclude_list; |
| 184 | unshift @args, "--no-merges" if $ignore_merges; | ||
| 184 | 185 | ||
| 185 | my $revlist = git_rev_list(@args); | 186 | my $revlist = git_rev_list(@args); |
| 186 | 187 | ||
| @@ -306,8 +307,8 @@ sub parse_options() | |||
| 306 | elsif ($arg eq '-U') { $mode_mask = shift @ARGV; } | 307 | elsif ($arg eq '-U') { $mode_mask = shift @ARGV; } |
| 307 | elsif ($arg eq '-u') { $gitweb_url = shift @ARGV; } | 308 | elsif ($arg eq '-u') { $gitweb_url = shift @ARGV; } |
| 308 | elsif ($arg eq '-i') { push @include_list, shift @ARGV; } | 309 | elsif ($arg eq '-i') { push @include_list, shift @ARGV; } |
| 310 | elsif ($arg eq '-X') { $ignore_merges = 1; } | ||
| 309 | elsif ($arg eq '-x') { push @exclude_list, shift @ARGV; } | 311 | elsif ($arg eq '-x') { push @exclude_list, shift @ARGV; } |
| 310 | elsif ($arg eq '-X') { push @revlist_options, "--no-merges"; } | ||
| 311 | elsif ($arg eq '-z') { $abbreviate_url = 1; } | 312 | elsif ($arg eq '-z') { $abbreviate_url = 1; } |
| 312 | elsif ($arg eq '-d') { $debug++; } | 313 | elsif ($arg eq '-d') { $debug++; } |
| 313 | else { usage(); } | 314 | else { usage(); } |
