diff options
author | Neil Moore <neil@s-z.org> | 2013-06-25 15:53:42 -0500 |
---|---|---|
committer | Neil Moore <neil@s-z.org> | 2013-06-25 16:36:01 -0500 |
commit | ac42f84040256fe3a5c159d132cbc2053309e684 (patch) | |
tree | 6365c02d129f345ac58436a0ca3b35cef349d43e | |
parent | 93aceeef4ec5ef2007d0df55d666de047acc88a9 (diff) | |
download | crawlbot-ac42f84040256fe3a5c159d132cbc2053309e684.tar.gz crawlbot-ac42f84040256fe3a5c159d132cbc2053309e684.zip |
New %branch command.
-rw-r--r-- | lib/Crawl/Bot/Plugin/Commit.pm | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/Crawl/Bot/Plugin/Commit.pm b/lib/Crawl/Bot/Plugin/Commit.pm index 3f963ea..b041583 100644 --- a/lib/Crawl/Bot/Plugin/Commit.pm +++ b/lib/Crawl/Bot/Plugin/Commit.pm @@ -76,12 +76,18 @@ my %colour_codes = ( url => 13 ); -sub make_web_uri { +sub make_commit_uri { my $self = shift; my $commit = shift; return "http://s-z.org/neil/git/?p=crawl.git;a=commitdiff;h=$commit"; } +sub make_branch_uri { + my $self = shift; + my $branch = shift; + return "http://s-z.org/neil/git/?p=crawl.git;a=log;h=refs/heads/$branch"; +} + sub colour { my $self = shift; my $context = shift; @@ -109,7 +115,7 @@ sub said { my @keys = (who => $args->{who}, channel => $args->{channel}, "body"); - if ($args->{body} =~ /^%git(?:\s+(.*))?$/) { + if ($args->{body} =~ /^\%git(?:\s+(.*))?$/) { my $rev = $1; $rev = "HEAD" unless $rev; my $commit = $self->parse_commit($rev); @@ -134,7 +140,7 @@ sub said { $commit->{nins}, $commit->{ndel}, $self->colour(query => "reset"), $self->colour(query => "url"), - $self->make_web_uri($abbr), + $self->make_commit_uri($abbr), $self->colour(query => "reset"), ) ); @@ -142,6 +148,8 @@ sub said { my $ev = $? >> 8; $self->say(@keys, "Could not find commit $rev (git returned $ev)"); } + } elsif ($args->{body} =~ /^\%branch\s+(.*)$/) { + $self->say(@keys, "Branch $1: " . $self->make_branch_uri($1)); } } @@ -227,7 +235,7 @@ sub tick { $commit->{nins}, $commit->{ndel}, $self->colour(announce => "reset"), $self->colour(announce => "url"), - $self->make_web_uri($abbr), + $self->make_commit_uri($abbr), $self->colour(announce => "reset"), ) ); |