overcommit 0.30.0 → 0.31.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|