overcommit 0.46.0 → 0.47.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.
Files changed (209) hide show
  1. checksums.yaml +4 -4
  2. data/bin/overcommit +1 -0
  3. data/config/default.yml +53 -7
  4. data/lib/overcommit.rb +2 -0
  5. data/lib/overcommit/command_splitter.rb +2 -0
  6. data/lib/overcommit/configuration.rb +6 -4
  7. data/lib/overcommit/configuration_loader.rb +1 -1
  8. data/lib/overcommit/configuration_validator.rb +22 -14
  9. data/lib/overcommit/exceptions.rb +2 -0
  10. data/lib/overcommit/git_config.rb +2 -0
  11. data/lib/overcommit/git_repo.rb +2 -0
  12. data/lib/overcommit/git_version.rb +2 -0
  13. data/lib/overcommit/hook/base.rb +6 -4
  14. data/lib/overcommit/hook/commit_msg/base.rb +2 -0
  15. data/lib/overcommit/hook/commit_msg/capitalized_subject.rb +2 -0
  16. data/lib/overcommit/hook/commit_msg/empty_message.rb +2 -0
  17. data/lib/overcommit/hook/commit_msg/gerrit_change_id.rb +2 -0
  18. data/lib/overcommit/hook/commit_msg/hard_tabs.rb +2 -0
  19. data/lib/overcommit/hook/commit_msg/message_format.rb +2 -0
  20. data/lib/overcommit/hook/commit_msg/russian_novel.rb +2 -0
  21. data/lib/overcommit/hook/commit_msg/single_line_subject.rb +2 -0
  22. data/lib/overcommit/hook/commit_msg/spell_check.rb +2 -0
  23. data/lib/overcommit/hook/commit_msg/text_width.rb +2 -0
  24. data/lib/overcommit/hook/commit_msg/trailing_period.rb +2 -0
  25. data/lib/overcommit/hook/post_checkout/base.rb +2 -0
  26. data/lib/overcommit/hook/post_checkout/bower_install.rb +2 -0
  27. data/lib/overcommit/hook/post_checkout/bundle_install.rb +2 -0
  28. data/lib/overcommit/hook/post_checkout/composer_install.rb +2 -0
  29. data/lib/overcommit/hook/post_checkout/index_tags.rb +2 -0
  30. data/lib/overcommit/hook/post_checkout/npm_install.rb +2 -0
  31. data/lib/overcommit/hook/post_checkout/submodule_status.rb +2 -0
  32. data/lib/overcommit/hook/post_checkout/yarn_install.rb +2 -0
  33. data/lib/overcommit/hook/post_commit/base.rb +2 -0
  34. data/lib/overcommit/hook/post_commit/bower_install.rb +2 -0
  35. data/lib/overcommit/hook/post_commit/bundle_install.rb +2 -0
  36. data/lib/overcommit/hook/post_commit/commitplease.rb +2 -0
  37. data/lib/overcommit/hook/post_commit/composer_install.rb +2 -0
  38. data/lib/overcommit/hook/post_commit/git_guilt.rb +2 -0
  39. data/lib/overcommit/hook/post_commit/index_tags.rb +2 -0
  40. data/lib/overcommit/hook/post_commit/npm_install.rb +2 -0
  41. data/lib/overcommit/hook/post_commit/submodule_status.rb +2 -0
  42. data/lib/overcommit/hook/post_commit/yarn_install.rb +2 -0
  43. data/lib/overcommit/hook/post_merge/base.rb +2 -0
  44. data/lib/overcommit/hook/post_merge/bower_install.rb +2 -0
  45. data/lib/overcommit/hook/post_merge/bundle_install.rb +2 -0
  46. data/lib/overcommit/hook/post_merge/composer_install.rb +2 -0
  47. data/lib/overcommit/hook/post_merge/index_tags.rb +2 -0
  48. data/lib/overcommit/hook/post_merge/npm_install.rb +2 -0
  49. data/lib/overcommit/hook/post_merge/submodule_status.rb +2 -0
  50. data/lib/overcommit/hook/post_merge/yarn_install.rb +2 -0
  51. data/lib/overcommit/hook/post_rewrite/base.rb +2 -0
  52. data/lib/overcommit/hook/post_rewrite/bower_install.rb +2 -0
  53. data/lib/overcommit/hook/post_rewrite/bundle_install.rb +2 -0
  54. data/lib/overcommit/hook/post_rewrite/composer_install.rb +2 -0
  55. data/lib/overcommit/hook/post_rewrite/index_tags.rb +2 -0
  56. data/lib/overcommit/hook/post_rewrite/npm_install.rb +2 -0
  57. data/lib/overcommit/hook/post_rewrite/submodule_status.rb +2 -0
  58. data/lib/overcommit/hook/post_rewrite/yarn_install.rb +2 -0
  59. data/lib/overcommit/hook/pre_commit/author_email.rb +2 -0
  60. data/lib/overcommit/hook/pre_commit/author_name.rb +2 -0
  61. data/lib/overcommit/hook/pre_commit/base.rb +2 -0
  62. data/lib/overcommit/hook/pre_commit/broken_symlinks.rb +2 -0
  63. data/lib/overcommit/hook/pre_commit/bundle_audit.rb +2 -0
  64. data/lib/overcommit/hook/pre_commit/bundle_check.rb +2 -1
  65. data/lib/overcommit/hook/pre_commit/bundle_outdated.rb +2 -0
  66. data/lib/overcommit/hook/pre_commit/case_conflicts.rb +2 -0
  67. data/lib/overcommit/hook/pre_commit/chamber_compare.rb +2 -0
  68. data/lib/overcommit/hook/pre_commit/chamber_security.rb +2 -0
  69. data/lib/overcommit/hook/pre_commit/chamber_verification.rb +3 -1
  70. data/lib/overcommit/hook/pre_commit/coffee_lint.rb +2 -0
  71. data/lib/overcommit/hook/pre_commit/cook_style.rb +35 -0
  72. data/lib/overcommit/hook/pre_commit/credo.rb +2 -0
  73. data/lib/overcommit/hook/pre_commit/css_lint.rb +2 -0
  74. data/lib/overcommit/hook/pre_commit/dogma.rb +2 -0
  75. data/lib/overcommit/hook/pre_commit/es_lint.rb +2 -0
  76. data/lib/overcommit/hook/pre_commit/execute_permissions.rb +2 -0
  77. data/lib/overcommit/hook/pre_commit/fasterer.rb +2 -0
  78. data/lib/overcommit/hook/pre_commit/fix_me.rb +2 -0
  79. data/lib/overcommit/hook/pre_commit/flay.rb +2 -0
  80. data/lib/overcommit/hook/pre_commit/foodcritic.rb +2 -0
  81. data/lib/overcommit/hook/pre_commit/forbidden_branches.rb +2 -0
  82. data/lib/overcommit/hook/pre_commit/go_lint.rb +2 -0
  83. data/lib/overcommit/hook/pre_commit/go_vet.rb +2 -0
  84. data/lib/overcommit/hook/pre_commit/hadolint.rb +2 -0
  85. data/lib/overcommit/hook/pre_commit/haml_lint.rb +2 -0
  86. data/lib/overcommit/hook/pre_commit/hard_tabs.rb +2 -0
  87. data/lib/overcommit/hook/pre_commit/hlint.rb +2 -0
  88. data/lib/overcommit/hook/pre_commit/html_hint.rb +2 -0
  89. data/lib/overcommit/hook/pre_commit/html_tidy.rb +2 -0
  90. data/lib/overcommit/hook/pre_commit/image_optim.rb +2 -0
  91. data/lib/overcommit/hook/pre_commit/java_checkstyle.rb +2 -0
  92. data/lib/overcommit/hook/pre_commit/js_hint.rb +2 -0
  93. data/lib/overcommit/hook/pre_commit/js_lint.rb +2 -0
  94. data/lib/overcommit/hook/pre_commit/jscs.rb +2 -0
  95. data/lib/overcommit/hook/pre_commit/jsl.rb +2 -0
  96. data/lib/overcommit/hook/pre_commit/json_syntax.rb +2 -0
  97. data/lib/overcommit/hook/pre_commit/kt_lint.rb +19 -0
  98. data/lib/overcommit/hook/pre_commit/license_finder.rb +2 -0
  99. data/lib/overcommit/hook/pre_commit/license_header.rb +2 -0
  100. data/lib/overcommit/hook/pre_commit/line_endings.rb +2 -0
  101. data/lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb +2 -0
  102. data/lib/overcommit/hook/pre_commit/mdl.rb +2 -0
  103. data/lib/overcommit/hook/pre_commit/merge_conflicts.rb +2 -0
  104. data/lib/overcommit/hook/pre_commit/nginx_test.rb +2 -0
  105. data/lib/overcommit/hook/pre_commit/pep257.rb +2 -0
  106. data/lib/overcommit/hook/pre_commit/pep8.rb +2 -0
  107. data/lib/overcommit/hook/pre_commit/php_cs.rb +2 -0
  108. data/lib/overcommit/hook/pre_commit/php_cs_fixer.rb +2 -0
  109. data/lib/overcommit/hook/pre_commit/php_lint.rb +2 -0
  110. data/lib/overcommit/hook/pre_commit/php_stan.rb +2 -0
  111. data/lib/overcommit/hook/pre_commit/pronto.rb +2 -0
  112. data/lib/overcommit/hook/pre_commit/puppet_lint.rb +2 -0
  113. data/lib/overcommit/hook/pre_commit/puppet_metadata_json_lint.rb +2 -0
  114. data/lib/overcommit/hook/pre_commit/pycodestyle.rb +2 -0
  115. data/lib/overcommit/hook/pre_commit/pydocstyle.rb +2 -0
  116. data/lib/overcommit/hook/pre_commit/pyflakes.rb +2 -0
  117. data/lib/overcommit/hook/pre_commit/pylint.rb +2 -0
  118. data/lib/overcommit/hook/pre_commit/python_flake8.rb +2 -0
  119. data/lib/overcommit/hook/pre_commit/rails_best_practices.rb +2 -0
  120. data/lib/overcommit/hook/pre_commit/rails_schema_up_to_date.rb +2 -0
  121. data/lib/overcommit/hook/pre_commit/rake_target.rb +2 -0
  122. data/lib/overcommit/hook/pre_commit/reek.rb +2 -0
  123. data/lib/overcommit/hook/pre_commit/rst_lint.rb +2 -0
  124. data/lib/overcommit/hook/pre_commit/rubo_cop.rb +2 -0
  125. data/lib/overcommit/hook/pre_commit/ruby_lint.rb +2 -0
  126. data/lib/overcommit/hook/pre_commit/scalariform.rb +2 -0
  127. data/lib/overcommit/hook/pre_commit/scalastyle.rb +2 -0
  128. data/lib/overcommit/hook/pre_commit/scss_lint.rb +2 -0
  129. data/lib/overcommit/hook/pre_commit/semi_standard.rb +2 -0
  130. data/lib/overcommit/hook/pre_commit/shell_check.rb +2 -0
  131. data/lib/overcommit/hook/pre_commit/slim_lint.rb +2 -0
  132. data/lib/overcommit/hook/pre_commit/sqlint.rb +2 -0
  133. data/lib/overcommit/hook/pre_commit/standard.rb +2 -0
  134. data/lib/overcommit/hook/pre_commit/stylelint.rb +2 -0
  135. data/lib/overcommit/hook/pre_commit/swift_lint.rb +19 -0
  136. data/lib/overcommit/hook/pre_commit/terraform_format.rb +19 -0
  137. data/lib/overcommit/hook/pre_commit/trailing_whitespace.rb +2 -0
  138. data/lib/overcommit/hook/pre_commit/travis_lint.rb +2 -0
  139. data/lib/overcommit/hook/pre_commit/ts_lint.rb +14 -4
  140. data/lib/overcommit/hook/pre_commit/vint.rb +2 -0
  141. data/lib/overcommit/hook/pre_commit/w3c_css.rb +2 -0
  142. data/lib/overcommit/hook/pre_commit/w3c_html.rb +2 -0
  143. data/lib/overcommit/hook/pre_commit/xml_lint.rb +2 -0
  144. data/lib/overcommit/hook/pre_commit/xml_syntax.rb +2 -0
  145. data/lib/overcommit/hook/pre_commit/yaml_lint.rb +2 -0
  146. data/lib/overcommit/hook/pre_commit/yaml_syntax.rb +2 -0
  147. data/lib/overcommit/hook/pre_commit/yard_coverage.rb +2 -0
  148. data/lib/overcommit/hook/pre_commit/yarn_check.rb +1 -1
  149. data/lib/overcommit/hook/pre_push/base.rb +2 -0
  150. data/lib/overcommit/hook/pre_push/brakeman.rb +2 -0
  151. data/lib/overcommit/hook/pre_push/cargo_test.rb +2 -0
  152. data/lib/overcommit/hook/pre_push/minitest.rb +2 -0
  153. data/lib/overcommit/hook/pre_push/php_unit.rb +2 -0
  154. data/lib/overcommit/hook/pre_push/protected_branches.rb +2 -0
  155. data/lib/overcommit/hook/pre_push/pytest.rb +2 -0
  156. data/lib/overcommit/hook/pre_push/python_nose.rb +2 -0
  157. data/lib/overcommit/hook/pre_push/r_spec.rb +2 -0
  158. data/lib/overcommit/hook/pre_push/rake_target.rb +2 -0
  159. data/lib/overcommit/hook/pre_push/test_unit.rb +2 -0
  160. data/lib/overcommit/hook/pre_rebase/base.rb +2 -0
  161. data/lib/overcommit/hook/pre_rebase/merged_commits.rb +2 -0
  162. data/lib/overcommit/hook/prepare_commit_msg/base.rb +25 -0
  163. data/lib/overcommit/hook/prepare_commit_msg/replace_branch.rb +52 -0
  164. data/lib/overcommit/hook/shared/bower_install.rb +2 -0
  165. data/lib/overcommit/hook/shared/bundle_install.rb +2 -0
  166. data/lib/overcommit/hook/shared/composer_install.rb +2 -0
  167. data/lib/overcommit/hook/shared/index_tags.rb +2 -0
  168. data/lib/overcommit/hook/shared/npm_install.rb +2 -0
  169. data/lib/overcommit/hook/shared/rake_target.rb +2 -0
  170. data/lib/overcommit/hook/shared/submodule_status.rb +2 -0
  171. data/lib/overcommit/hook/shared/yarn_install.rb +2 -0
  172. data/lib/overcommit/hook_context.rb +2 -0
  173. data/lib/overcommit/hook_context/base.rb +2 -0
  174. data/lib/overcommit/hook_context/commit_msg.rb +2 -0
  175. data/lib/overcommit/hook_context/post_checkout.rb +2 -0
  176. data/lib/overcommit/hook_context/post_commit.rb +2 -0
  177. data/lib/overcommit/hook_context/post_merge.rb +2 -0
  178. data/lib/overcommit/hook_context/post_rewrite.rb +2 -0
  179. data/lib/overcommit/hook_context/pre_commit.rb +4 -1
  180. data/lib/overcommit/hook_context/pre_push.rb +2 -0
  181. data/lib/overcommit/hook_context/pre_rebase.rb +2 -0
  182. data/lib/overcommit/hook_context/prepare_commit_msg.rb +34 -0
  183. data/lib/overcommit/hook_context/run_all.rb +2 -0
  184. data/lib/overcommit/hook_loader/base.rb +2 -0
  185. data/lib/overcommit/hook_loader/built_in_hook_loader.rb +2 -0
  186. data/lib/overcommit/hook_loader/plugin_hook_loader.rb +2 -0
  187. data/lib/overcommit/hook_runner.rb +2 -0
  188. data/lib/overcommit/hook_signer.rb +2 -0
  189. data/lib/overcommit/installer.rb +2 -0
  190. data/lib/overcommit/interrupt_handler.rb +2 -0
  191. data/lib/overcommit/logger.rb +3 -1
  192. data/lib/overcommit/os.rb +2 -0
  193. data/lib/overcommit/printer.rb +2 -0
  194. data/lib/overcommit/subprocess.rb +2 -0
  195. data/lib/overcommit/utils.rb +3 -1
  196. data/lib/overcommit/utils/file_utils.rb +2 -0
  197. data/lib/overcommit/utils/messages_utils.rb +2 -0
  198. data/lib/overcommit/version.rb +1 -1
  199. data/template-dir/hooks/commit-msg +1 -0
  200. data/template-dir/hooks/overcommit-hook +1 -0
  201. data/template-dir/hooks/post-checkout +1 -0
  202. data/template-dir/hooks/post-commit +1 -0
  203. data/template-dir/hooks/post-merge +1 -0
  204. data/template-dir/hooks/post-rewrite +1 -0
  205. data/template-dir/hooks/pre-commit +1 -0
  206. data/template-dir/hooks/pre-push +1 -0
  207. data/template-dir/hooks/pre-rebase +1 -0
  208. data/template-dir/hooks/prepare-commit-msg +116 -0
  209. metadata +11 -4
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit
2
4
  # Responsible for loading the hooks the repository has configured and running
3
5
  # them, collecting and displaying the results.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit
2
4
  # Calculates, stores, and retrieves stored signatures of hook plugins.
3
5
  class HookSigner
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'fileutils'
2
4
 
3
5
  module Overcommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'singleton'
2
4
 
3
5
  # Provides a handler for interrupt signals (SIGINT), allowing the application to
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit
2
4
  # Encapsulates all communication to an output source.
3
5
  class Logger
@@ -38,7 +40,7 @@ module Overcommit
38
40
 
39
41
  # Write a line of output if debug mode is enabled.
40
42
  def debug(*args)
41
- color('35', *args) unless ENV.fetch('OVERCOMMIT_DEBUG', '').empty?
43
+ color('35', *args) unless ENV.fetch('OVERCOMMIT_DEBUG') { '' }.empty?
42
44
  end
43
45
 
44
46
  # Write a line of output that is intended to be emphasized.
data/lib/overcommit/os.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rbconfig'
2
4
 
3
5
  module Overcommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'monitor'
2
4
 
3
5
  module Overcommit
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'childprocess'
2
4
  require 'tempfile'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'pathname'
2
4
  require 'overcommit/os'
3
5
  require 'overcommit/subprocess'
@@ -172,7 +174,7 @@ module Overcommit
172
174
  end
173
175
 
174
176
  result =
175
- if (splittable_args = options.fetch(:args, [])).any?
177
+ if (splittable_args = options.fetch(:args) { [] }).any?
176
178
  debug(initial_args.join(' ') + " ... (#{splittable_args.length} splittable args)")
177
179
  Overcommit::CommandSplitter.execute(initial_args, options)
178
180
  else
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'overcommit/os'
2
4
  require 'overcommit/subprocess'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Overcommit::Utils
2
4
  # Utility to process messages
3
5
  module MessagesUtils
@@ -2,5 +2,5 @@
2
2
 
3
3
  # Defines the gem version.
4
4
  module Overcommit
5
- VERSION = '0.46.0'.freeze
5
+ VERSION = '0.47.0'.freeze
6
6
  end
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  # Entrypoint for Overcommit hook integration. Installing Overcommit will result
4
5
  # in all of your git hooks being copied from this file, allowing the framework
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ # Entrypoint for Overcommit hook integration. Installing Overcommit will result
5
+ # in all of your git hooks being copied from this file, allowing the framework
6
+ # to manage your hooks for you.
7
+
8
+ # Prevent a Ruby stack trace from appearing when we interrupt the hook.
9
+ # Note that this will be overridden when Overcommit is loaded, since the
10
+ # InterruptHandler will redefine the trap at that time.
11
+ Signal.trap('INT') do
12
+ puts 'Hook run interrupted'
13
+ exit 130
14
+ end
15
+
16
+ # Allow hooks to be disabled via environment variable so git commands can be run
17
+ # in scripts without Overcommit running hooks
18
+ if ENV['OVERCOMMIT_DISABLE'].to_i != 0 || ENV['OVERCOMMIT_DISABLED'].to_i != 0
19
+ exit
20
+ end
21
+
22
+ hook_type = File.basename($0)
23
+ if hook_type == 'overcommit-hook'
24
+ puts "Don't run `overcommit-hook` directly; it is intended to be symlinked " \
25
+ "by each hook in a repository's .git/hooks directory."
26
+ exit 64 # EX_USAGE
27
+ end
28
+
29
+ # Check if Overcommit should invoke a Bundler context for loading gems
30
+ require 'yaml'
31
+ # rubocop:disable Style/RescueModifier
32
+ if gemfile = YAML.load_file('.overcommit.yml')['gemfile'] rescue nil
33
+ ENV['BUNDLE_GEMFILE'] = gemfile
34
+ require 'bundler'
35
+
36
+ begin
37
+ Bundler.setup
38
+ rescue Bundler::BundlerError => ex
39
+ puts "Problem loading '#{gemfile}': #{ex.message}"
40
+ puts "Try running:\nbundle install --gemfile=#{gemfile}" if ex.is_a?(Bundler::GemNotFound)
41
+ exit 78 # EX_CONFIG
42
+ end
43
+ end
44
+ # rubocop:enable Style/RescueModifier
45
+
46
+ begin
47
+ require 'overcommit'
48
+ rescue LoadError
49
+ if gemfile
50
+ puts 'You have specified the `gemfile` option in your Overcommit ' \
51
+ 'configuration but have not added the `overcommit` gem to ' \
52
+ "#{gemfile}."
53
+ else
54
+ puts 'This repository contains hooks installed by Overcommit, but the ' \
55
+ "`overcommit` gem is not installed.\n" \
56
+ 'Install it with `gem install overcommit`.'
57
+ end
58
+
59
+ exit 64 # EX_USAGE
60
+ end
61
+
62
+ begin
63
+ logger = Overcommit::Logger.new(STDOUT)
64
+ Overcommit::Utils.log = logger
65
+
66
+ # Ensure master hook is up-to-date
67
+ installer = Overcommit::Installer.new(logger)
68
+ if installer.run(Overcommit::Utils.repo_root, action: :update)
69
+ exec($0, *ARGV) # Execute the updated hook with all original arguments
70
+ end
71
+
72
+ config = Overcommit::ConfigurationLoader.new(logger).load_repo_config
73
+
74
+ context = Overcommit::HookContext.create(hook_type, config, ARGV, STDIN)
75
+ config.apply_environment!(context, ENV)
76
+
77
+ printer = Overcommit::Printer.new(config, logger, context)
78
+ runner = Overcommit::HookRunner.new(config, logger, context, printer)
79
+
80
+ status = runner.run
81
+
82
+ exit(status ? 0 : 65) # 65 = EX_DATAERR
83
+ rescue Overcommit::Exceptions::ConfigurationError => error
84
+ puts error
85
+ exit 78 # EX_CONFIG
86
+ rescue Overcommit::Exceptions::HookContextLoadError => error
87
+ puts error
88
+ puts 'Are you running an old version of Overcommit?'
89
+ exit 69 # EX_UNAVAILABLE
90
+ rescue Overcommit::Exceptions::HookLoadError,
91
+ Overcommit::Exceptions::InvalidHookDefinition => error
92
+ puts error.message
93
+ puts error.backtrace
94
+ exit 78 # EX_CONFIG
95
+ rescue Overcommit::Exceptions::HookSetupFailed,
96
+ Overcommit::Exceptions::HookCleanupFailed => error
97
+ puts error.message
98
+ exit 74 # EX_IOERR
99
+ rescue Overcommit::Exceptions::HookCancelled
100
+ puts 'You cancelled the hook run'
101
+ exit 130 # Ctrl-C cancel
102
+ rescue Overcommit::Exceptions::InvalidGitRepo => error
103
+ puts error
104
+ exit 64 # EX_USAGE
105
+ rescue Overcommit::Exceptions::ConfigurationSignatureChanged => error
106
+ puts error
107
+ puts "For more information, see #{Overcommit::REPO_URL}#security"
108
+ exit 1
109
+ rescue Overcommit::Exceptions::InvalidHookSignature
110
+ exit 1
111
+ rescue StandardError => error
112
+ puts error.message
113
+ puts error.backtrace
114
+ puts "Report this bug at #{Overcommit::BUG_REPORT_URL}"
115
+ exit 70 # EX_SOFTWARE
116
+ end
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.46.0
4
+ version: 0.47.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: 2018-09-02 00:00:00.000000000 Z
12
+ date: 2019-03-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: childprocess
@@ -127,6 +127,7 @@ files:
127
127
  - lib/overcommit/hook/pre_commit/chamber_security.rb
128
128
  - lib/overcommit/hook/pre_commit/chamber_verification.rb
129
129
  - lib/overcommit/hook/pre_commit/coffee_lint.rb
130
+ - lib/overcommit/hook/pre_commit/cook_style.rb
130
131
  - lib/overcommit/hook/pre_commit/credo.rb
131
132
  - lib/overcommit/hook/pre_commit/css_lint.rb
132
133
  - lib/overcommit/hook/pre_commit/dogma.rb
@@ -152,6 +153,7 @@ files:
152
153
  - lib/overcommit/hook/pre_commit/jscs.rb
153
154
  - lib/overcommit/hook/pre_commit/jsl.rb
154
155
  - lib/overcommit/hook/pre_commit/json_syntax.rb
156
+ - lib/overcommit/hook/pre_commit/kt_lint.rb
155
157
  - lib/overcommit/hook/pre_commit/license_finder.rb
156
158
  - lib/overcommit/hook/pre_commit/license_header.rb
157
159
  - lib/overcommit/hook/pre_commit/line_endings.rb
@@ -189,6 +191,8 @@ files:
189
191
  - lib/overcommit/hook/pre_commit/sqlint.rb
190
192
  - lib/overcommit/hook/pre_commit/standard.rb
191
193
  - lib/overcommit/hook/pre_commit/stylelint.rb
194
+ - lib/overcommit/hook/pre_commit/swift_lint.rb
195
+ - lib/overcommit/hook/pre_commit/terraform_format.rb
192
196
  - lib/overcommit/hook/pre_commit/trailing_whitespace.rb
193
197
  - lib/overcommit/hook/pre_commit/travis_lint.rb
194
198
  - lib/overcommit/hook/pre_commit/ts_lint.rb
@@ -214,6 +218,8 @@ files:
214
218
  - lib/overcommit/hook/pre_push/test_unit.rb
215
219
  - lib/overcommit/hook/pre_rebase/base.rb
216
220
  - lib/overcommit/hook/pre_rebase/merged_commits.rb
221
+ - lib/overcommit/hook/prepare_commit_msg/base.rb
222
+ - lib/overcommit/hook/prepare_commit_msg/replace_branch.rb
217
223
  - lib/overcommit/hook/shared/bower_install.rb
218
224
  - lib/overcommit/hook/shared/bundle_install.rb
219
225
  - lib/overcommit/hook/shared/composer_install.rb
@@ -232,6 +238,7 @@ files:
232
238
  - lib/overcommit/hook_context/pre_commit.rb
233
239
  - lib/overcommit/hook_context/pre_push.rb
234
240
  - lib/overcommit/hook_context/pre_rebase.rb
241
+ - lib/overcommit/hook_context/prepare_commit_msg.rb
235
242
  - lib/overcommit/hook_context/run_all.rb
236
243
  - lib/overcommit/hook_loader/base.rb
237
244
  - lib/overcommit/hook_loader/built_in_hook_loader.rb
@@ -260,6 +267,7 @@ files:
260
267
  - template-dir/hooks/pre-commit
261
268
  - template-dir/hooks/pre-push
262
269
  - template-dir/hooks/pre-rebase
270
+ - template-dir/hooks/prepare-commit-msg
263
271
  homepage: https://github.com/brigade/overcommit
264
272
  licenses:
265
273
  - MIT
@@ -280,8 +288,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
280
288
  - !ruby/object:Gem::Version
281
289
  version: '0'
282
290
  requirements: []
283
- rubyforge_project:
284
- rubygems_version: 2.7.6
291
+ rubygems_version: 3.0.3
285
292
  signing_key:
286
293
  specification_version: 4
287
294
  summary: Git hook manager