Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions config/default.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,11 @@ CommitMsg:
enabled: true
description: 'Checking subject capitalization'

EmptyMessage:
enabled: true
description: 'Checking for empty commit message'
quiet: true

GerritChangeId:
enabled: false
description: 'Ensuring Gerrit Change-Id is present'
Expand Down
10 changes: 10 additions & 0 deletions lib/overcommit/hook/commit_msg/empty_message.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module Overcommit::Hook::CommitMsg
# Checks that the commit message is not empty
class EmptyMessage < Base
def run
return :pass unless empty_message?

[:fail, 'Commit message should not be empty']
end
end
end
29 changes: 29 additions & 0 deletions spec/overcommit/hook/commit_msg/empty_message_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
require 'spec_helper'

describe Overcommit::Hook::CommitMsg::EmptyMessage do
let(:config) { Overcommit::ConfigurationLoader.default_configuration }
let(:context) { double('context') }
subject { described_class.new(config, context) }

before do
subject.stub(:empty_message?).and_return(commit_msg.strip.empty?)
end

context 'when commit message is empty' do
let(:commit_msg) { '' }

it { should fail_hook }
end

context 'when commit message contains only whitespace' do
let(:commit_msg) { ' ' }

it { should fail_hook }
end

context 'when commit message is not empty' do
let(:commit_msg) { 'Some commit message' }

it { should pass }
end
end