Notify.pm: avoid rev-list hash..0000 on ref deletions
authorKyle J. McKay <mackyle@gmail.com>
Thu, 22 Aug 2013 06:00:48 +0000 (21 23:00 -0700)
committerKyle J. McKay <mackyle@gmail.com>
Thu, 22 Aug 2013 06:00:48 +0000 (21 23:00 -0700)
When a ref change happens that deletes a ref, do not attempt to list
the revisions in the range from the old hash value through hash value
0000000000000000000000000000000000000000 since that will generate an
error and not produce any commits anyway.  Instead simply return an
empty list in this case.

There is already a special case for the reverse that handles the
initial push of a new ref so the range from the empty hash value
0000000000000000000000000000000000000000 to the new ref is never
passed to git rev-list.

Girocco/Notify.pm

index cb0bcb3..c80cf17 100644 (file)
@@ -182,6 +182,8 @@ sub cia {
 sub get_commits {
        my ($proj, $ref, $oldrev, $newrev) = @_;
 
+       return () if $newrev =~ /^0+$/;
+
        my @gcmd = ($Girocco::Config::git_bin, '--git-dir='.$proj->{path});
        my $fd;