overcommit 0.30.0 → 0.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/default.yml +8 -0
- data/lib/overcommit/configuration.rb +0 -1
- data/lib/overcommit/constants.rb +7 -5
- data/lib/overcommit/exceptions.rb +3 -0
- data/lib/overcommit/hook/base.rb +1 -1
- data/lib/overcommit/hook/commit_msg/capitalized_subject.rb +1 -1
- data/lib/overcommit/hook/pre_commit/base.rb +4 -1
- data/lib/overcommit/hook/pre_commit/berksfile_check.rb +3 -1
- data/lib/overcommit/hook/pre_commit/bundle_check.rb +3 -1
- data/lib/overcommit/hook/pre_commit/mdl.rb +23 -0
- data/lib/overcommit/hook/pre_commit/rubo_cop.rb +15 -4
- data/lib/overcommit/hook/pre_push/protected_branches.rb +13 -6
- data/lib/overcommit/hook_context/pre_push.rb +12 -1
- data/lib/overcommit/hook_signer.rb +1 -1
- data/lib/overcommit/message_processor.rb +20 -7
- data/lib/overcommit/os.rb +2 -2
- data/lib/overcommit/version.rb +3 -1
- data/template-dir/hooks/commit-msg +9 -1
- data/template-dir/hooks/overcommit-hook +9 -1
- data/template-dir/hooks/post-checkout +9 -1
- data/template-dir/hooks/post-commit +9 -1
- data/template-dir/hooks/post-merge +9 -1
- data/template-dir/hooks/post-rewrite +9 -1
- data/template-dir/hooks/pre-commit +9 -1
- data/template-dir/hooks/pre-push +9 -1
- data/template-dir/hooks/pre-rebase +9 -1
- metadata +19 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f165cfdcb2a7a4293e715b273489473ed22d4a3
|
4
|
+
data.tar.gz: 3aac84eccfbc7f7096cb7a7216118eac072996b7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39205b47a623e3ed2377af1305290c138e35c1926f12b98c2be2e18533ad808b138c666f40b4ab59393b0ca5ef16ecca971279d65f3b51b8a56209ba791e2669
|
7
|
+
data.tar.gz: e129c516f6953be502dc60737c263487a38ab1ecc0a8866a28e8edf980026c45aec3c340675e8508f9ce59981f72893af946b13491882990e1746b325e3ab898
|
data/config/default.yml
CHANGED
@@ -324,6 +324,13 @@ PreCommit:
|
|
324
324
|
flags: ['-IHnE', "^[^#]*((\\bpath:)|(:path[ \t]*=>))"]
|
325
325
|
include: '**/Gemfile'
|
326
326
|
|
327
|
+
Mdl:
|
328
|
+
enabled: false
|
329
|
+
description: 'Analyzing with mdl'
|
330
|
+
required_executable: 'mdl'
|
331
|
+
install_command: 'gem install mdl'
|
332
|
+
include: '**/*.md'
|
333
|
+
|
327
334
|
MergeConflicts:
|
328
335
|
enabled: true
|
329
336
|
description: 'Checking for merge conflicts'
|
@@ -392,6 +399,7 @@ PreCommit:
|
|
392
399
|
enabled: false
|
393
400
|
description: 'Analyzing with RailsBestPractices'
|
394
401
|
required_executable: 'rails_best_practices'
|
402
|
+
flags: ['--without-color']
|
395
403
|
install_command: 'gem install rails_best_practices'
|
396
404
|
|
397
405
|
RailsSchemaUpToDate:
|
data/lib/overcommit/constants.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# Global application constants.
|
2
4
|
module Overcommit
|
3
|
-
HOME = File.expand_path(File.join(File.dirname(__FILE__), '..', '..'))
|
4
|
-
CONFIG_FILE_NAME = '.overcommit.yml'
|
5
|
+
HOME = File.expand_path(File.join(File.dirname(__FILE__), '..', '..')).freeze
|
6
|
+
CONFIG_FILE_NAME = '.overcommit.yml'.freeze
|
5
7
|
|
6
|
-
HOOK_DIRECTORY = File.join(HOME, 'lib', 'overcommit', 'hook')
|
8
|
+
HOOK_DIRECTORY = File.join(HOME, 'lib', 'overcommit', 'hook').freeze
|
7
9
|
|
8
|
-
REPO_URL = 'https://github.com/brigade/overcommit'
|
9
|
-
BUG_REPORT_URL = "#{REPO_URL}/issues"
|
10
|
+
REPO_URL = 'https://github.com/brigade/overcommit'.freeze
|
11
|
+
BUG_REPORT_URL = "#{REPO_URL}/issues".freeze
|
10
12
|
end
|
@@ -11,6 +11,9 @@ module Overcommit::Exceptions
|
|
11
11
|
# Raised when there was a problem reading submodule information for a repo.
|
12
12
|
class GitSubmoduleError < StandardError; end
|
13
13
|
|
14
|
+
# Raised when there was a problem reading git revision information with `rev-list`.
|
15
|
+
class GitRevListError < StandardError; end
|
16
|
+
|
14
17
|
# Raised when a {HookContext} is unable to setup the environment before a run.
|
15
18
|
class HookSetupFailed < StandardError; end
|
16
19
|
|
data/lib/overcommit/hook/base.rb
CHANGED
@@ -5,7 +5,7 @@ module Overcommit::Hook::CommitMsg
|
|
5
5
|
return :pass if empty_message?
|
6
6
|
|
7
7
|
first_letter = commit_message_lines[0].to_s.match(/^[[:punct:]]*(.)/)[1]
|
8
|
-
unless first_letter
|
8
|
+
unless first_letter =~ /[[:upper:]]/
|
9
9
|
return :warn, 'Subject should start with a capital letter'
|
10
10
|
end
|
11
11
|
|
@@ -40,7 +40,9 @@ module Overcommit::Hook::PreCommit
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def extract_file(match, message)
|
43
|
-
|
43
|
+
return unless match.names.include?('file')
|
44
|
+
|
45
|
+
if match[:file].to_s.empty?
|
44
46
|
raise "Unexpected output: no file found in '#{message}'"
|
45
47
|
end
|
46
48
|
|
@@ -48,6 +50,7 @@ module Overcommit::Hook::PreCommit
|
|
48
50
|
end
|
49
51
|
|
50
52
|
def extract_line(match, message)
|
53
|
+
return unless match.names.include?('line')
|
51
54
|
Integer(match[:line])
|
52
55
|
rescue ArgumentError, TypeError
|
53
56
|
raise "Unexpected output: invalid line number found in '#{message}'"
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Overcommit::Hook::PreCommit
|
2
4
|
# Check if local Berksfile.lock matches Berksfile when either changes, unless
|
3
5
|
# Berksfile.lock is ignored by git.
|
4
6
|
#
|
5
7
|
# @see http://berkshelf.com/
|
6
8
|
class BerksfileCheck < Base
|
7
|
-
LOCK_FILE = 'Berksfile.lock'
|
9
|
+
LOCK_FILE = 'Berksfile.lock'.freeze
|
8
10
|
|
9
11
|
def run
|
10
12
|
# Ignore if Berksfile.lock is not tracked by git
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Overcommit::Hook::PreCommit
|
2
4
|
# Check if local Gemfile.lock matches Gemfile when either changes, unless
|
3
5
|
# Gemfile.lock is ignored by git.
|
4
6
|
#
|
5
7
|
# @see http://bundler.io/
|
6
8
|
class BundleCheck < Base
|
7
|
-
LOCK_FILE = 'Gemfile.lock'
|
9
|
+
LOCK_FILE = 'Gemfile.lock'.freeze
|
8
10
|
|
9
11
|
def run
|
10
12
|
# Ignore if Gemfile.lock is not tracked by git
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Overcommit::Hook::PreCommit
|
2
|
+
# Runs `mdl` against any modified Markdown files
|
3
|
+
#
|
4
|
+
# @see https://github.com/mivok/markdownlint
|
5
|
+
class Mdl < Base
|
6
|
+
MESSAGE_REGEX = /^(?<file>(?:\w:)?[^:]+):(?<line>\d+)/
|
7
|
+
|
8
|
+
def run
|
9
|
+
result = execute(command, args: applicable_files)
|
10
|
+
output = result.stdout.chomp
|
11
|
+
|
12
|
+
return :pass if result.success?
|
13
|
+
return [:fail, result.stderr] unless result.stderr.empty?
|
14
|
+
|
15
|
+
# example message:
|
16
|
+
# path/to/file.md:1: MD001 Error message
|
17
|
+
extract_messages(
|
18
|
+
output.split("\n"),
|
19
|
+
MESSAGE_REGEX
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -3,20 +3,31 @@ module Overcommit::Hook::PreCommit
|
|
3
3
|
#
|
4
4
|
# @see http://batsov.com/rubocop/
|
5
5
|
class RuboCop < Base
|
6
|
-
|
6
|
+
GENERIC_MESSAGE_TYPE_CATEGORIZER = lambda do |type|
|
7
|
+
type =~ /^warn/ ? :warning : :error
|
8
|
+
end
|
9
|
+
|
10
|
+
COP_MESSAGE_TYPE_CATEGORIZER = lambda do |type|
|
7
11
|
type.include?('W') ? :warning : :error
|
8
12
|
end
|
9
13
|
|
10
14
|
def run
|
11
15
|
result = execute(command, args: applicable_files)
|
12
16
|
return :pass if result.success?
|
13
|
-
return [:fail, result.stderr] unless result.stderr.empty?
|
14
17
|
|
15
|
-
extract_messages(
|
18
|
+
generic_messages = extract_messages(
|
19
|
+
result.stderr.split("\n"),
|
20
|
+
/^(?<type>[a-z]+)/i,
|
21
|
+
GENERIC_MESSAGE_TYPE_CATEGORIZER,
|
22
|
+
)
|
23
|
+
|
24
|
+
cop_messages = extract_messages(
|
16
25
|
result.stdout.split("\n"),
|
17
26
|
/^(?<file>(?:\w:)?[^:]+):(?<line>\d+):[^ ]+ (?<type>[^ ]+)/,
|
18
|
-
|
27
|
+
COP_MESSAGE_TYPE_CATEGORIZER,
|
19
28
|
)
|
29
|
+
|
30
|
+
generic_messages + cop_messages
|
20
31
|
end
|
21
32
|
end
|
22
33
|
end
|
@@ -13,15 +13,22 @@ module Overcommit::Hook::PrePush
|
|
13
13
|
|
14
14
|
private
|
15
15
|
|
16
|
-
def branches
|
17
|
-
@branches ||= config['branches']
|
18
|
-
end
|
19
|
-
|
20
16
|
def illegal_pushes
|
21
17
|
@illegal_pushes ||= pushed_refs.select do |pushed_ref|
|
22
|
-
(pushed_ref.
|
23
|
-
branches.any? { |branch| pushed_ref.remote_ref == "refs/heads/#{branch}" }
|
18
|
+
protected?(pushed_ref.remote_ref) && pushed_ref.destructive?
|
24
19
|
end
|
25
20
|
end
|
21
|
+
|
22
|
+
def protected?(remote_ref)
|
23
|
+
ref_name = remote_ref[%r{refs/heads/(.*)}, 1]
|
24
|
+
protected_branch_patterns.any? do |pattern|
|
25
|
+
File.fnmatch(pattern, ref_name)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def protected_branch_patterns
|
30
|
+
@protected_branch_patterns ||= Array(config['branches']).
|
31
|
+
concat(Array(config['branch_patterns']))
|
32
|
+
end
|
26
33
|
end
|
27
34
|
end
|
@@ -30,6 +30,10 @@ module Overcommit::HookContext
|
|
30
30
|
local_sha1 == '0' * 40
|
31
31
|
end
|
32
32
|
|
33
|
+
def destructive?
|
34
|
+
deleted? || forced?
|
35
|
+
end
|
36
|
+
|
33
37
|
def to_s
|
34
38
|
"#{local_ref} #{local_sha1} #{remote_ref} #{remote_sha1}"
|
35
39
|
end
|
@@ -37,7 +41,14 @@ module Overcommit::HookContext
|
|
37
41
|
private
|
38
42
|
|
39
43
|
def overwritten_commits
|
40
|
-
|
44
|
+
return @overwritten_commits if defined? @overwritten_commits
|
45
|
+
result = Overcommit::Subprocess.spawn(%W[git rev-list #{remote_sha1} ^#{local_sha1}])
|
46
|
+
if result.success?
|
47
|
+
result.stdout.split("\n")
|
48
|
+
else
|
49
|
+
raise Overcommit::Exceptions::GitRevListError,
|
50
|
+
"Unable to check if commits on the remote ref will be overwritten: #{result.stderr}"
|
51
|
+
end
|
41
52
|
end
|
42
53
|
end
|
43
54
|
end
|
@@ -5,7 +5,7 @@ module Overcommit
|
|
5
5
|
|
6
6
|
# We don't want to include the skip setting as it is set by Overcommit
|
7
7
|
# itself
|
8
|
-
IGNORED_CONFIG_KEYS = %w[skip]
|
8
|
+
IGNORED_CONFIG_KEYS = %w[skip].freeze
|
9
9
|
|
10
10
|
# @param hook_name [String] name of the hook
|
11
11
|
# @param config [Overcommit::Configuration]
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module Overcommit
|
2
4
|
# Utility class that encapsulates the handling of hook messages and whether
|
3
5
|
# they affect lines the user has modified or not.
|
@@ -6,10 +8,12 @@ module Overcommit
|
|
6
8
|
# output tuple from an array of {Overcommit::Hook::Message}s, respecting the
|
7
9
|
# configuration settings for the given hook.
|
8
10
|
class MessageProcessor
|
9
|
-
ERRORS_MODIFIED_HEADER = 'Errors on modified lines:'
|
10
|
-
WARNINGS_MODIFIED_HEADER = 'Warnings on modified lines:'
|
11
|
-
ERRORS_UNMODIFIED_HEADER = "Errors on lines you didn't modify:"
|
12
|
-
WARNINGS_UNMODIFIED_HEADER = "Warnings on lines you didn't modify:"
|
11
|
+
ERRORS_MODIFIED_HEADER = 'Errors on modified lines:'.freeze
|
12
|
+
WARNINGS_MODIFIED_HEADER = 'Warnings on modified lines:'.freeze
|
13
|
+
ERRORS_UNMODIFIED_HEADER = "Errors on lines you didn't modify:".freeze
|
14
|
+
WARNINGS_UNMODIFIED_HEADER = "Warnings on lines you didn't modify:".freeze
|
15
|
+
ERRORS_GENERIC_HEADER = 'Errors:'.freeze
|
16
|
+
WARNINGS_GENERIC_HEADER = 'Warnings:'.freeze
|
13
17
|
|
14
18
|
# @param hook [Overcommit::Hook::Base]
|
15
19
|
# @param unmodified_lines_setting [String] how to treat messages on
|
@@ -40,10 +44,19 @@ module Overcommit
|
|
40
44
|
def handle_modified_lines(messages, status)
|
41
45
|
messages = remove_ignored_messages(messages)
|
42
46
|
|
43
|
-
|
44
|
-
messages.partition { |message| message_on_modified_line?(message) }
|
47
|
+
messages_with_line, generic_messages = messages.partition(&:line)
|
45
48
|
|
49
|
+
# Always print generic messages first
|
46
50
|
output = print_messages(
|
51
|
+
generic_messages,
|
52
|
+
ERRORS_GENERIC_HEADER,
|
53
|
+
WARNINGS_GENERIC_HEADER
|
54
|
+
)
|
55
|
+
|
56
|
+
messages_on_modified_lines, messages_on_unmodified_lines =
|
57
|
+
messages_with_line.partition { |message| message_on_modified_line?(message) }
|
58
|
+
|
59
|
+
output += print_messages(
|
47
60
|
messages_on_modified_lines,
|
48
61
|
ERRORS_MODIFIED_HEADER,
|
49
62
|
WARNINGS_MODIFIED_HEADER
|
@@ -54,7 +67,7 @@ module Overcommit
|
|
54
67
|
WARNINGS_UNMODIFIED_HEADER
|
55
68
|
)
|
56
69
|
|
57
|
-
[transform_status(status, messages_on_modified_lines), output]
|
70
|
+
[transform_status(status, generic_messages + messages_on_modified_lines), output]
|
58
71
|
end
|
59
72
|
|
60
73
|
def transform_status(status, messages_on_modified_lines)
|
data/lib/overcommit/os.rb
CHANGED
@@ -27,10 +27,10 @@ module Overcommit
|
|
27
27
|
private
|
28
28
|
|
29
29
|
def host_os
|
30
|
-
@os ||= ::RbConfig::CONFIG['host_os']
|
30
|
+
@os ||= ::RbConfig::CONFIG['host_os'].freeze
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
SEPARATOR =
|
34
|
+
SEPARATOR = (windows? ? '\\' : File::SEPARATOR).freeze
|
35
35
|
end
|
36
36
|
end
|
data/lib/overcommit/version.rb
CHANGED
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
data/template-dir/hooks/pre-push
CHANGED
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
@@ -30,7 +30,15 @@ require 'yaml'
|
|
30
30
|
# rubocop:disable Style/RescueModifier
|
31
31
|
if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
|
32
32
|
ENV['BUNDLE_GEMFILE'] = gemfile
|
33
|
-
require 'bundler
|
33
|
+
require 'bundler'
|
34
|
+
|
35
|
+
begin
|
36
|
+
Bundler.setup
|
37
|
+
rescue Bundler::BundlerError => ex
|
38
|
+
puts "Problem loading '#{gemfile}': #{ex.message}"
|
39
|
+
puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
|
40
|
+
exit 78 # EX_CONFIG
|
41
|
+
end
|
34
42
|
end
|
35
43
|
# rubocop:enable Style/RescueModifier
|
36
44
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: overcommit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.31.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brigade Engineering
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-01-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: childprocess
|
@@ -17,14 +17,14 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.5.
|
20
|
+
version: 0.5.8
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.5.
|
27
|
+
version: 0.5.8
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: iniparse
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -39,6 +39,20 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '1.4'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '10.4'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '10.4'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: rspec
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -155,6 +169,7 @@ files:
|
|
155
169
|
- lib/overcommit/hook/pre_commit/jsl.rb
|
156
170
|
- lib/overcommit/hook/pre_commit/json_syntax.rb
|
157
171
|
- lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb
|
172
|
+
- lib/overcommit/hook/pre_commit/mdl.rb
|
158
173
|
- lib/overcommit/hook/pre_commit/merge_conflicts.rb
|
159
174
|
- lib/overcommit/hook/pre_commit/nginx_test.rb
|
160
175
|
- lib/overcommit/hook/pre_commit/pep257.rb
|