overcommit 0.50.0 → 0.54.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f824ec83fa10a7b483e568728c32d9e2c15105d36bad7d76b4cb6ff3f162186e
4
- data.tar.gz: a625d3bc126d5004119d534b31643ab5efc514b654f879afe2849816dd6eb673
3
+ metadata.gz: 0efc67b235f1b64200fb3f1980dbbffdadafe330138488842faba82901de4536
4
+ data.tar.gz: 75e7f62941308e828f498906bd5b8681b9a238336a616aa4c9c69465db4411d5
5
5
  SHA512:
6
- metadata.gz: 189cce42c8f838a56d74602acad8d549ee08734f11fcfd76f744a32c5b15799c35c0ee1316ec2fb3270679b07b70af97834e7e6ce38ec38d9301b0d0c22fc9fb
7
- data.tar.gz: 136a4b200e1d74532c01a8b850b20f98624ba03cb6ef0e08bb633fcbd5cea86b1d730010fd7bd358fa2400497486003fa013b4d2d75106b26876eb565d15e45e
6
+ metadata.gz: 92d6182180b1ea2888f3e93124f011fa22ac6af31e610ed8537e1432a46b2ef731a525743ad39fa3981b772d324504665fd3c391bd157eda305a951962d8bbf9
7
+ data.tar.gz: ddc6c719c3662f64f9e80d671acf6958e6a9aa75b873d8cef948b17f71d81ae33025cedaa4f1770a7bb39523c1a497bbfff8ebb1e59351e5168be41a31259e26
@@ -337,6 +337,23 @@ PreCommit:
337
337
  flags: ['-IEHnw']
338
338
  keywords: ['FContext','FDescribe','FIt','FMeasure','FSpecify','FWhen']
339
339
 
340
+ GoFmt:
341
+ enabled: true
342
+ description: 'Fix with go fmt'
343
+ required_executable: 'go'
344
+ command: ['go', 'fmt']
345
+ parallelize: false
346
+ include: '**/*.go'
347
+
348
+ GolangciLint:
349
+ enabled: false
350
+ description: 'Analyze with golangci-lint'
351
+ required_executable: 'golangci-lint'
352
+ install_command: 'go get github.com/golangci/golangci-lint/cmd/golangci-lint'
353
+ flags: ['--out-format=line-number', '--print-issued-lines=false']
354
+ command: ['golangci-lint', 'run']
355
+ include: '**/*.go'
356
+
340
357
  GoLint:
341
358
  enabled: false
342
359
  description: 'Analyze with golint'
@@ -868,7 +885,7 @@ PreCommit:
868
885
  enabled: false
869
886
  description: 'Analyze with YAMLlint'
870
887
  required_executable: 'yamllint'
871
- flags: ['--format=parsable']
888
+ flags: ['--format=parsable', '--strict']
872
889
  install_command: 'pip install yamllint'
873
890
  include:
874
891
  - '**/*.yaml'
@@ -1253,6 +1270,20 @@ PrePush:
1253
1270
  required_executable: 'git-lfs'
1254
1271
  install_command: 'brew install git-lfs'
1255
1272
 
1273
+ GolangciLint:
1274
+ enabled: false
1275
+ description: 'Analyze with golangci-lint'
1276
+ required_executable: 'golangci-lint'
1277
+ install_command: 'go get github.com/golangci/golangci-lint/cmd/golangci-lint'
1278
+ flags: ['--out-format=line-number', '--print-issued-lines=false']
1279
+ command: ['golangci-lint', 'run']
1280
+
1281
+ GoTest:
1282
+ enabled: false
1283
+ description: 'Run go test suite'
1284
+ required_executable: 'go'
1285
+ command: ['go', 'test', './...']
1286
+
1256
1287
  Minitest:
1257
1288
  enabled: false
1258
1289
  description: 'Run Minitest test suite'
@@ -1266,6 +1297,13 @@ PrePush:
1266
1297
  flags: ['--bootstrap', 'vendor/autoload.php', 'tests']
1267
1298
  install_command: 'composer require --dev phpunit/phpunit'
1268
1299
 
1300
+ Pronto:
1301
+ enabled: false
1302
+ description: 'Analyzing with pronto'
1303
+ required_executable: 'pronto'
1304
+ install_command: 'gem install pronto'
1305
+ flags: ['run', '--exit-code']
1306
+
1269
1307
  ProtectedBranches:
1270
1308
  enabled: false
1271
1309
  description: 'Check for illegal pushes to protected branches'
@@ -79,12 +79,18 @@ module Overcommit::Hook
79
79
  @config['enabled'] != false
80
80
  end
81
81
 
82
+ def excluded?
83
+ exclude_branches.any? { |p| File.fnmatch(p, current_branch) }
84
+ end
85
+
82
86
  def skip?
83
- @config['skip']
87
+ @config['skip'] ||
88
+ (@config['skip_if'] ? execute(@config['skip_if']).success? : false)
84
89
  end
85
90
 
86
91
  def run?
87
92
  enabled? &&
93
+ !excluded? &&
88
94
  !(@config['requires_files'] && applicable_files.empty?)
89
95
  end
90
96
 
@@ -276,5 +282,13 @@ module Overcommit::Hook
276
282
  status
277
283
  end
278
284
  end
285
+
286
+ def exclude_branches
287
+ @config['exclude_branches'] || []
288
+ end
289
+
290
+ def current_branch
291
+ @current_branch ||= Overcommit::GitRepo.current_branch
292
+ end
279
293
  end
280
294
  end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Overcommit::Hook::PreCommit
4
+ # Runs go fmt for all modified Go files
5
+ class GoFmt < Base
6
+ def run
7
+ errors = []
8
+ applicable_files.each do |file|
9
+ result = execute(command, args: [file])
10
+ errors << (result.stdout + result.stderr) unless result.success?
11
+ end
12
+ return :pass if errors.empty?
13
+
14
+ [:fail, errors.join("\n")]
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Overcommit::Hook::PreCommit
4
+ # Runs `golangci-lint run` against any modified packages
5
+ #
6
+ # @see https://github.com/golangci/golangci-lint
7
+ class GolangciLint < Base
8
+ def run
9
+ packages = applicable_files.map { |f| File.dirname(f) }.uniq
10
+ result = execute(command, args: packages)
11
+ return :pass if result.success?
12
+ return [:fail, result.stderr] unless result.stderr.empty?
13
+
14
+ extract_messages(
15
+ result.stdout.split("\n"),
16
+ /^(?<file>(?:\w:)?[^:]+):(?<line>\d+)/,
17
+ nil
18
+ )
19
+ end
20
+ end
21
+ end
@@ -19,9 +19,9 @@ module Overcommit::Hook::PreCommit
19
19
  json_messages.map do |message|
20
20
  Overcommit::Hook::Message.new(
21
21
  :error,
22
- message[:filename],
23
- message[:line],
24
- message[:description]
22
+ message['filename'],
23
+ message['line'],
24
+ "#{message['filename']}:#{message['line']} #{message['rule']} #{message['description']}"
25
25
  )
26
26
  end
27
27
  end
@@ -12,21 +12,14 @@ module Overcommit::Hook::PreCommit
12
12
  def run
13
13
  messages = []
14
14
 
15
- applicable_files.each do |file|
16
- result = execute(command, args: [file])
17
- if result.status
18
- rows = result.stdout.split("\n")
19
-
20
- # Discard the csv header
21
- rows.shift
22
-
23
- # Push each of the errors in the particular file into the array
24
- rows.map do |row|
25
- messages << row
26
- end
27
- end
15
+ result = execute(command, args: applicable_files)
16
+ if result.status
17
+ messages = result.stdout.split("\n")
18
+ # Discard the csv header
19
+ messages.shift
28
20
  end
29
21
 
22
+ return :fail if messages.empty? && !result.success?
30
23
  return :pass if messages.empty?
31
24
 
32
25
  parse_messages(messages)
@@ -1,23 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'overcommit/hook/shared/pronto'
4
+
3
5
  module Overcommit::Hook::PreCommit
4
6
  # Runs `pronto`
5
7
  #
6
8
  # @see https://github.com/mmozuras/pronto
7
9
  class Pronto < Base
8
- MESSAGE_TYPE_CATEGORIZER = lambda do |type|
9
- type.include?('E') ? :error : :warning
10
- end
11
-
12
- def run
13
- result = execute(command)
14
- return :pass if result.success?
15
-
16
- extract_messages(
17
- result.stdout.split("\n"),
18
- /^(?<file>(?:\w:)?[^:]+):(?<line>\d+) (?<type>[^ ]+)/,
19
- MESSAGE_TYPE_CATEGORIZER,
20
- )
21
- end
10
+ include Overcommit::Hook::Shared::Pronto
22
11
  end
23
12
  end
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'forwardable'
4
+ require 'overcommit/utils/messages_utils'
4
5
 
5
6
  module Overcommit::Hook::PrePush
6
7
  # Functionality common to all pre-push hooks.
@@ -8,5 +9,25 @@ module Overcommit::Hook::PrePush
8
9
  extend Forwardable
9
10
 
10
11
  def_delegators :@context, :remote_name, :remote_url, :pushed_refs
12
+
13
+ def run?
14
+ super &&
15
+ !exclude_remotes.include?(remote_name) &&
16
+ (include_remote_ref_deletions? || !@context.remote_ref_deletion?)
17
+ end
18
+
19
+ private
20
+
21
+ def extract_messages(*args)
22
+ Overcommit::Utils::MessagesUtils.extract_messages(*args)
23
+ end
24
+
25
+ def exclude_remotes
26
+ @config['exclude_remotes'] || []
27
+ end
28
+
29
+ def include_remote_ref_deletions?
30
+ @config['include_remote_ref_deletions']
31
+ end
11
32
  end
12
33
  end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Overcommit::Hook::PrePush
4
+ # Runs `go test ./...` command on prepush
5
+ class GoTest < Base
6
+ def run
7
+ result = execute(command)
8
+ return :pass if result.success?
9
+
10
+ output = result.stdout + result.stderr
11
+ [:fail, output]
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Overcommit::Hook::PrePush
4
+ # Runs golangci-lint
5
+ #
6
+ # @see https://github.com/golangci/golangci-lint
7
+ class GolangciLint < Base
8
+ def run
9
+ result = execute(command)
10
+ return :pass if result.success?
11
+
12
+ output = result.stdout + result.stderr
13
+ [:fail, output]
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'overcommit/hook/shared/pronto'
4
+
5
+ module Overcommit::Hook::PrePush
6
+ # Runs `pronto`
7
+ #
8
+ # @see https://github.com/mmozuras/pronto
9
+ class Pronto < Base
10
+ include Overcommit::Hook::Shared::Pronto
11
+ end
12
+ end
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Overcommit::Hook::PrePush
4
- # Prevents destructive updates to specified branches.
4
+ # Prevents updates to specified branches.
5
+ # Accepts a 'destructive_only' option globally or per branch
6
+ # to only prevent destructive updates.
5
7
  class ProtectedBranches < Base
6
8
  def run
7
9
  return :pass unless illegal_pushes.any?
@@ -17,32 +19,55 @@ module Overcommit::Hook::PrePush
17
19
 
18
20
  def illegal_pushes
19
21
  @illegal_pushes ||= pushed_refs.select do |pushed_ref|
20
- protected?(pushed_ref.remote_ref) && allow_non_destructive?(pushed_ref)
22
+ protected?(pushed_ref)
21
23
  end
22
24
  end
23
25
 
24
- def protected?(remote_ref)
26
+ def protected?(ref)
27
+ find_pattern(ref.remote_ref)&.destructive?(ref)
28
+ end
29
+
30
+ def find_pattern(remote_ref)
25
31
  ref_name = remote_ref[%r{refs/heads/(.*)}, 1]
26
- return false if ref_name.nil?
27
- protected_branch_patterns.any? do |pattern|
28
- File.fnmatch(pattern, ref_name)
32
+ return if ref_name.nil?
33
+
34
+ patterns.find do |pattern|
35
+ File.fnmatch(pattern.to_s, ref_name)
29
36
  end
30
37
  end
31
38
 
32
- def protected_branch_patterns
33
- @protected_branch_patterns ||= Array(config['branches']).
34
- concat(Array(config['branch_patterns']))
39
+ def patterns
40
+ @patterns ||= fetch_patterns
35
41
  end
36
42
 
37
- def destructive_only?
43
+ def fetch_patterns
44
+ branch_configurations.map do |pattern|
45
+ if pattern.is_a?(Hash)
46
+ Pattern.new(pattern.keys.first, pattern['destructive_only'])
47
+ else
48
+ Pattern.new(pattern, global_destructive_only?)
49
+ end
50
+ end
51
+ end
52
+
53
+ def branch_configurations
54
+ config['branches'].to_a + config['branch_patterns'].to_a
55
+ end
56
+
57
+ def global_destructive_only?
38
58
  config['destructive_only'].nil? || config['destructive_only']
39
59
  end
40
60
 
41
- def allow_non_destructive?(ref)
42
- if destructive_only?
43
- ref.destructive?
44
- else
45
- true
61
+ Pattern = Struct.new('Pattern', :name, :destructive_only) do
62
+ alias_method :to_s, :name
63
+ alias_method :destructive_only?, :destructive_only
64
+
65
+ def destructive?(ref)
66
+ if destructive_only?
67
+ ref.destructive?
68
+ else
69
+ true
70
+ end
46
71
  end
47
72
  end
48
73
  end
@@ -17,7 +17,7 @@ module Overcommit::Hook::PrepareCommitMsg
17
17
  Overcommit::Utils.log.debug("Writing #{commit_message_filename} with #{new_template}")
18
18
 
19
19
  modify_commit_message do |old_contents|
20
- "#{new_template}\n#{old_contents}"
20
+ "#{new_template} #{old_contents}"
21
21
  end
22
22
 
23
23
  :pass
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Overcommit::Hook::Shared
4
+ # Shared code used by all Pronto hooks. Runs pronto linter.
5
+ module Pronto
6
+ MESSAGE_TYPE_CATEGORIZER = lambda do |type|
7
+ type.include?('E') ? :error : :warning
8
+ end
9
+
10
+ def run
11
+ result = execute(command)
12
+ return :pass if result.success?
13
+
14
+ extract_messages(
15
+ result.stdout.split("\n"),
16
+ /^(?<file>(?:\w:)?[^:]+):(?<line>\d+) (?<type>[^ ]+)/,
17
+ MESSAGE_TYPE_CATEGORIZER,
18
+ )
19
+ end
20
+ end
21
+ end
@@ -34,7 +34,9 @@ module Overcommit::HookContext
34
34
  end
35
35
 
36
36
  def post_fail_message
37
- "Failed commit message:\n" + commit_message_lines.join
37
+ "Failed commit message:\n#{commit_message_lines.join.chomp}\n\n" \
38
+ "Try again with your existing commit message by running:\n" \
39
+ "git commit --edit --file=#{commit_message_file}"
38
40
  end
39
41
 
40
42
  private
@@ -49,29 +49,15 @@ module Overcommit::HookContext
49
49
  Overcommit::GitRepo.store_merge_state
50
50
  Overcommit::GitRepo.store_cherry_pick_state
51
51
 
52
- if !initial_commit? && any_changes?
53
- @stash_attempted = true
54
-
55
- stash_message = "Overcommit: Stash of repo state before hook run at #{Time.now}"
56
- result = Overcommit::Utils.with_environment('GIT_LITERAL_PATHSPECS' => '0') do
57
- Overcommit::Utils.execute(
58
- %w[git -c commit.gpgsign=false stash save --keep-index --quiet] + [stash_message]
59
- )
60
- end
61
-
62
- unless result.success?
63
- # Failure to stash in this case is likely due to a configuration
64
- # issue (e.g. author/email not set or GPG signing key incorrect)
65
- raise Overcommit::Exceptions::HookSetupFailed,
66
- "Unable to setup environment for #{hook_script_name} hook run:" \
67
- "\nSTDOUT:#{result.stdout}\nSTDERR:#{result.stderr}"
68
- end
52
+ # Don't attempt to stash changes if all changes are staged, as this
53
+ # prevents us from modifying files at all, which plays better with
54
+ # editors/tools which watch for file changes.
55
+ if !initial_commit? && unstaged_changes?
56
+ stash_changes
69
57
 
70
- @changes_stashed = `git stash list -1`.include?(stash_message)
58
+ # While running hooks make it appear as if nothing changed
59
+ restore_modified_times
71
60
  end
72
-
73
- # While running the hooks make it appear as if nothing changed
74
- restore_modified_times
75
61
  end
76
62
 
77
63
  # Restore unstaged changes and reset file modification times so it appears
@@ -82,19 +68,14 @@ module Overcommit::HookContext
82
68
  # modification time on the file was newer. This helps us play more nicely
83
69
  # with file watchers.
84
70
  def cleanup_environment
85
- unless initial_commit? || (@stash_attempted && !@changes_stashed)
86
- clear_working_tree # Ensure working tree is clean before restoring it
87
- restore_modified_times
88
- end
89
-
90
71
  if @changes_stashed
72
+ clear_working_tree
91
73
  restore_working_tree
92
74
  restore_modified_times
93
75
  end
94
76
 
95
77
  Overcommit::GitRepo.restore_merge_state
96
78
  Overcommit::GitRepo.restore_cherry_pick_state
97
- restore_modified_times
98
79
  end
99
80
 
100
81
  # Get a list of added, copied, or modified files that have been staged.
@@ -140,6 +121,27 @@ module Overcommit::HookContext
140
121
 
141
122
  private
142
123
 
124
+ def stash_changes
125
+ @stash_attempted = true
126
+
127
+ stash_message = "Overcommit: Stash of repo state before hook run at #{Time.now}"
128
+ result = Overcommit::Utils.with_environment('GIT_LITERAL_PATHSPECS' => '0') do
129
+ Overcommit::Utils.execute(
130
+ %w[git -c commit.gpgsign=false stash save --keep-index --quiet] + [stash_message]
131
+ )
132
+ end
133
+
134
+ unless result.success?
135
+ # Failure to stash in this case is likely due to a configuration
136
+ # issue (e.g. author/email not set or GPG signing key incorrect)
137
+ raise Overcommit::Exceptions::HookSetupFailed,
138
+ "Unable to setup environment for #{hook_script_name} hook run:" \
139
+ "\nSTDOUT:#{result.stdout}\nSTDERR:#{result.stderr}"
140
+ end
141
+
142
+ @changes_stashed = `git stash list -1`.include?(stash_message)
143
+ end
144
+
143
145
  # Clears the working tree so that the stash can be applied.
144
146
  def clear_working_tree
145
147
  removed_submodules = Overcommit::GitRepo.staged_submodule_removals
@@ -172,14 +174,11 @@ module Overcommit::HookContext
172
174
  end
173
175
  end
174
176
 
175
- # Returns whether there are any changes to the working tree, staged or
176
- # otherwise.
177
- def any_changes?
178
- modified_files = `git status -z --untracked-files=no`.
179
- split("\0").
180
- map { |line| line.gsub(/[^\s]+\s+(.+)/, '\\1') }
181
-
182
- modified_files.any?
177
+ # Returns whether there are any changes to tracked files which have not yet
178
+ # been staged.
179
+ def unstaged_changes?
180
+ result = Overcommit::Utils.execute(%w[git --no-pager diff --quiet])
181
+ !result.success?
183
182
  end
184
183
 
185
184
  # Stores the modification times for all modified files to make it appear like
@@ -13,6 +13,15 @@ module Overcommit::HookContext
13
13
  @args[1]
14
14
  end
15
15
 
16
+ def remote_ref_deletion?
17
+ return @remote_ref_deletion if defined?(@remote_ref_deletion)
18
+
19
+ @remote_ref_deletion ||= input_lines.
20
+ first&.
21
+ split(' ')&.
22
+ first == '(deleted)'
23
+ end
24
+
16
25
  def pushed_refs
17
26
  input_lines.map do |line|
18
27
  PushedRef.new(*line.split(' '))
@@ -51,6 +51,7 @@ module Overcommit
51
51
  def run_interrupted
52
52
  log.newline
53
53
  log.warning '⚠ Hook run interrupted by user'
54
+ log.warning '⚠ If files appear modified/missing, check your stash to recover them'
54
55
  log.newline
55
56
  end
56
57
 
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Defines the gem version.
4
4
  module Overcommit
5
- VERSION = '0.50.0'
5
+ VERSION = '0.54.0'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: overcommit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.50.0
4
+ version: 0.54.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shane da Silva
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-25 00:00:00.000000000 Z
11
+ date: 2020-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: childprocess
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 0.6.3
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '4'
22
+ version: '5'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: 0.6.3
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '4'
32
+ version: '5'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: iniparse
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -139,8 +139,10 @@ files:
139
139
  - lib/overcommit/hook/pre_commit/foodcritic.rb
140
140
  - lib/overcommit/hook/pre_commit/forbidden_branches.rb
141
141
  - lib/overcommit/hook/pre_commit/ginkgo_focus.rb
142
+ - lib/overcommit/hook/pre_commit/go_fmt.rb
142
143
  - lib/overcommit/hook/pre_commit/go_lint.rb
143
144
  - lib/overcommit/hook/pre_commit/go_vet.rb
145
+ - lib/overcommit/hook/pre_commit/golangci_lint.rb
144
146
  - lib/overcommit/hook/pre_commit/hadolint.rb
145
147
  - lib/overcommit/hook/pre_commit/haml_lint.rb
146
148
  - lib/overcommit/hook/pre_commit/hard_tabs.rb
@@ -210,8 +212,11 @@ files:
210
212
  - lib/overcommit/hook/pre_push/base.rb
211
213
  - lib/overcommit/hook/pre_push/brakeman.rb
212
214
  - lib/overcommit/hook/pre_push/cargo_test.rb
215
+ - lib/overcommit/hook/pre_push/go_test.rb
216
+ - lib/overcommit/hook/pre_push/golangci_lint.rb
213
217
  - lib/overcommit/hook/pre_push/minitest.rb
214
218
  - lib/overcommit/hook/pre_push/php_unit.rb
219
+ - lib/overcommit/hook/pre_push/pronto.rb
215
220
  - lib/overcommit/hook/pre_push/protected_branches.rb
216
221
  - lib/overcommit/hook/pre_push/pytest.rb
217
222
  - lib/overcommit/hook/pre_push/python_nose.rb
@@ -227,6 +232,7 @@ files:
227
232
  - lib/overcommit/hook/shared/composer_install.rb
228
233
  - lib/overcommit/hook/shared/index_tags.rb
229
234
  - lib/overcommit/hook/shared/npm_install.rb
235
+ - lib/overcommit/hook/shared/pronto.rb
230
236
  - lib/overcommit/hook/shared/rake_target.rb
231
237
  - lib/overcommit/hook/shared/submodule_status.rb
232
238
  - lib/overcommit/hook/shared/yarn_install.rb
@@ -290,7 +296,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
296
  - !ruby/object:Gem::Version
291
297
  version: '0'
292
298
  requirements: []
293
- rubygems_version: 3.0.3
299
+ rubygems_version: 3.1.1
294
300
  signing_key:
295
301
  specification_version: 4
296
302
  summary: Git hook manager