overcommit-jeygeethanmedia 0.53.1

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 (226) hide show
  1. checksums.yaml +7 -0
  2. data/bin/overcommit +50 -0
  3. data/config/default.yml +1356 -0
  4. data/config/starter.yml +33 -0
  5. data/lib/overcommit.rb +26 -0
  6. data/lib/overcommit/cli.rb +223 -0
  7. data/lib/overcommit/command_splitter.rb +146 -0
  8. data/lib/overcommit/configuration.rb +350 -0
  9. data/lib/overcommit/configuration_loader.rb +96 -0
  10. data/lib/overcommit/configuration_validator.rb +186 -0
  11. data/lib/overcommit/constants.rb +12 -0
  12. data/lib/overcommit/exceptions.rb +52 -0
  13. data/lib/overcommit/git_config.rb +22 -0
  14. data/lib/overcommit/git_repo.rb +286 -0
  15. data/lib/overcommit/git_version.rb +17 -0
  16. data/lib/overcommit/hook/base.rb +294 -0
  17. data/lib/overcommit/hook/commit_msg/base.rb +14 -0
  18. data/lib/overcommit/hook/commit_msg/capitalized_subject.rb +25 -0
  19. data/lib/overcommit/hook/commit_msg/empty_message.rb +12 -0
  20. data/lib/overcommit/hook/commit_msg/gerrit_change_id.rb +22 -0
  21. data/lib/overcommit/hook/commit_msg/hard_tabs.rb +17 -0
  22. data/lib/overcommit/hook/commit_msg/message_format.rb +31 -0
  23. data/lib/overcommit/hook/commit_msg/russian_novel.rb +16 -0
  24. data/lib/overcommit/hook/commit_msg/single_line_subject.rb +16 -0
  25. data/lib/overcommit/hook/commit_msg/spell_check.rb +45 -0
  26. data/lib/overcommit/hook/commit_msg/text_width.rb +56 -0
  27. data/lib/overcommit/hook/commit_msg/trailing_period.rb +16 -0
  28. data/lib/overcommit/hook/post_checkout/base.rb +22 -0
  29. data/lib/overcommit/hook/post_checkout/bower_install.rb +13 -0
  30. data/lib/overcommit/hook/post_checkout/bundle_install.rb +13 -0
  31. data/lib/overcommit/hook/post_checkout/composer_install.rb +13 -0
  32. data/lib/overcommit/hook/post_checkout/index_tags.rb +12 -0
  33. data/lib/overcommit/hook/post_checkout/npm_install.rb +13 -0
  34. data/lib/overcommit/hook/post_checkout/submodule_status.rb +12 -0
  35. data/lib/overcommit/hook/post_checkout/yarn_install.rb +13 -0
  36. data/lib/overcommit/hook/post_commit/base.rb +12 -0
  37. data/lib/overcommit/hook/post_commit/bower_install.rb +13 -0
  38. data/lib/overcommit/hook/post_commit/bundle_install.rb +13 -0
  39. data/lib/overcommit/hook/post_commit/commitplease.rb +16 -0
  40. data/lib/overcommit/hook/post_commit/composer_install.rb +13 -0
  41. data/lib/overcommit/hook/post_commit/git_guilt.rb +43 -0
  42. data/lib/overcommit/hook/post_commit/index_tags.rb +12 -0
  43. data/lib/overcommit/hook/post_commit/npm_install.rb +13 -0
  44. data/lib/overcommit/hook/post_commit/submodule_status.rb +12 -0
  45. data/lib/overcommit/hook/post_commit/yarn_install.rb +13 -0
  46. data/lib/overcommit/hook/post_merge/base.rb +12 -0
  47. data/lib/overcommit/hook/post_merge/bower_install.rb +13 -0
  48. data/lib/overcommit/hook/post_merge/bundle_install.rb +13 -0
  49. data/lib/overcommit/hook/post_merge/composer_install.rb +13 -0
  50. data/lib/overcommit/hook/post_merge/index_tags.rb +12 -0
  51. data/lib/overcommit/hook/post_merge/npm_install.rb +13 -0
  52. data/lib/overcommit/hook/post_merge/submodule_status.rb +12 -0
  53. data/lib/overcommit/hook/post_merge/yarn_install.rb +13 -0
  54. data/lib/overcommit/hook/post_rewrite/base.rb +12 -0
  55. data/lib/overcommit/hook/post_rewrite/bower_install.rb +13 -0
  56. data/lib/overcommit/hook/post_rewrite/bundle_install.rb +13 -0
  57. data/lib/overcommit/hook/post_rewrite/composer_install.rb +13 -0
  58. data/lib/overcommit/hook/post_rewrite/index_tags.rb +19 -0
  59. data/lib/overcommit/hook/post_rewrite/npm_install.rb +13 -0
  60. data/lib/overcommit/hook/post_rewrite/submodule_status.rb +12 -0
  61. data/lib/overcommit/hook/post_rewrite/yarn_install.rb +13 -0
  62. data/lib/overcommit/hook/pre_commit/author_email.rb +26 -0
  63. data/lib/overcommit/hook/pre_commit/author_name.rb +25 -0
  64. data/lib/overcommit/hook/pre_commit/base.rb +19 -0
  65. data/lib/overcommit/hook/pre_commit/berksfile_check.rb +24 -0
  66. data/lib/overcommit/hook/pre_commit/broken_symlinks.rb +17 -0
  67. data/lib/overcommit/hook/pre_commit/bundle_audit.rb +24 -0
  68. data/lib/overcommit/hook/pre_commit/bundle_check.rb +32 -0
  69. data/lib/overcommit/hook/pre_commit/bundle_outdated.rb +25 -0
  70. data/lib/overcommit/hook/pre_commit/case_conflicts.rb +27 -0
  71. data/lib/overcommit/hook/pre_commit/chamber_compare.rb +43 -0
  72. data/lib/overcommit/hook/pre_commit/chamber_security.rb +15 -0
  73. data/lib/overcommit/hook/pre_commit/chamber_verification.rb +36 -0
  74. data/lib/overcommit/hook/pre_commit/code_spell_check.rb +36 -0
  75. data/lib/overcommit/hook/pre_commit/coffee_lint.rb +35 -0
  76. data/lib/overcommit/hook/pre_commit/cook_style.rb +35 -0
  77. data/lib/overcommit/hook/pre_commit/credo.rb +27 -0
  78. data/lib/overcommit/hook/pre_commit/css_lint.rb +26 -0
  79. data/lib/overcommit/hook/pre_commit/dogma.rb +33 -0
  80. data/lib/overcommit/hook/pre_commit/es_lint.rb +38 -0
  81. data/lib/overcommit/hook/pre_commit/execute_permissions.rb +76 -0
  82. data/lib/overcommit/hook/pre_commit/fasterer.rb +25 -0
  83. data/lib/overcommit/hook/pre_commit/file_size.rb +47 -0
  84. data/lib/overcommit/hook/pre_commit/fix_me.rb +17 -0
  85. data/lib/overcommit/hook/pre_commit/flay.rb +38 -0
  86. data/lib/overcommit/hook/pre_commit/foodcritic.rb +149 -0
  87. data/lib/overcommit/hook/pre_commit/forbidden_branches.rb +26 -0
  88. data/lib/overcommit/hook/pre_commit/ginkgo_focus.rb +23 -0
  89. data/lib/overcommit/hook/pre_commit/go_fmt.rb +17 -0
  90. data/lib/overcommit/hook/pre_commit/go_lint.rb +29 -0
  91. data/lib/overcommit/hook/pre_commit/go_vet.rb +24 -0
  92. data/lib/overcommit/hook/pre_commit/golangci_lint.rb +21 -0
  93. data/lib/overcommit/hook/pre_commit/hadolint.rb +27 -0
  94. data/lib/overcommit/hook/pre_commit/haml_lint.rb +23 -0
  95. data/lib/overcommit/hook/pre_commit/hard_tabs.rb +15 -0
  96. data/lib/overcommit/hook/pre_commit/hlint.rb +34 -0
  97. data/lib/overcommit/hook/pre_commit/html_hint.rb +23 -0
  98. data/lib/overcommit/hook/pre_commit/html_tidy.rb +30 -0
  99. data/lib/overcommit/hook/pre_commit/image_optim.rb +28 -0
  100. data/lib/overcommit/hook/pre_commit/java_checkstyle.rb +27 -0
  101. data/lib/overcommit/hook/pre_commit/js_hint.rb +23 -0
  102. data/lib/overcommit/hook/pre_commit/js_lint.rb +22 -0
  103. data/lib/overcommit/hook/pre_commit/jscs.rb +27 -0
  104. data/lib/overcommit/hook/pre_commit/jsl.rb +28 -0
  105. data/lib/overcommit/hook/pre_commit/json_syntax.rb +21 -0
  106. data/lib/overcommit/hook/pre_commit/kt_lint.rb +19 -0
  107. data/lib/overcommit/hook/pre_commit/license_finder.rb +14 -0
  108. data/lib/overcommit/hook/pre_commit/license_header.rb +48 -0
  109. data/lib/overcommit/hook/pre_commit/line_endings.rb +77 -0
  110. data/lib/overcommit/hook/pre_commit/local_paths_in_gemfile.rb +16 -0
  111. data/lib/overcommit/hook/pre_commit/mdl.rb +29 -0
  112. data/lib/overcommit/hook/pre_commit/merge_conflicts.rb +16 -0
  113. data/lib/overcommit/hook/pre_commit/nginx_test.rb +26 -0
  114. data/lib/overcommit/hook/pre_commit/pep257.rb +23 -0
  115. data/lib/overcommit/hook/pre_commit/pep8.rb +23 -0
  116. data/lib/overcommit/hook/pre_commit/php_cs.rb +43 -0
  117. data/lib/overcommit/hook/pre_commit/php_cs_fixer.rb +57 -0
  118. data/lib/overcommit/hook/pre_commit/php_lint.rb +44 -0
  119. data/lib/overcommit/hook/pre_commit/php_stan.rb +30 -0
  120. data/lib/overcommit/hook/pre_commit/pronto.rb +12 -0
  121. data/lib/overcommit/hook/pre_commit/puppet_lint.rb +26 -0
  122. data/lib/overcommit/hook/pre_commit/puppet_metadata_json_lint.rb +29 -0
  123. data/lib/overcommit/hook/pre_commit/pycodestyle.rb +23 -0
  124. data/lib/overcommit/hook/pre_commit/pydocstyle.rb +23 -0
  125. data/lib/overcommit/hook/pre_commit/pyflakes.rb +32 -0
  126. data/lib/overcommit/hook/pre_commit/pylint.rb +32 -0
  127. data/lib/overcommit/hook/pre_commit/python_flake8.rb +32 -0
  128. data/lib/overcommit/hook/pre_commit/rails_best_practices.rb +34 -0
  129. data/lib/overcommit/hook/pre_commit/rails_schema_up_to_date.rb +58 -0
  130. data/lib/overcommit/hook/pre_commit/rake_target.rb +12 -0
  131. data/lib/overcommit/hook/pre_commit/reek.rb +26 -0
  132. data/lib/overcommit/hook/pre_commit/rst_lint.rb +27 -0
  133. data/lib/overcommit/hook/pre_commit/rubo_cop.rb +35 -0
  134. data/lib/overcommit/hook/pre_commit/ruby_lint.rb +23 -0
  135. data/lib/overcommit/hook/pre_commit/ruby_syntax.rb +27 -0
  136. data/lib/overcommit/hook/pre_commit/scalariform.rb +22 -0
  137. data/lib/overcommit/hook/pre_commit/scalastyle.rb +31 -0
  138. data/lib/overcommit/hook/pre_commit/scss_lint.rb +43 -0
  139. data/lib/overcommit/hook/pre_commit/semi_standard.rb +23 -0
  140. data/lib/overcommit/hook/pre_commit/shell_check.rb +23 -0
  141. data/lib/overcommit/hook/pre_commit/slim_lint.rb +23 -0
  142. data/lib/overcommit/hook/pre_commit/sqlint.rb +26 -0
  143. data/lib/overcommit/hook/pre_commit/standard.rb +23 -0
  144. data/lib/overcommit/hook/pre_commit/stylelint.rb +23 -0
  145. data/lib/overcommit/hook/pre_commit/swift_lint.rb +19 -0
  146. data/lib/overcommit/hook/pre_commit/terraform_format.rb +19 -0
  147. data/lib/overcommit/hook/pre_commit/trailing_whitespace.rb +15 -0
  148. data/lib/overcommit/hook/pre_commit/travis_lint.rb +15 -0
  149. data/lib/overcommit/hook/pre_commit/ts_lint.rb +28 -0
  150. data/lib/overcommit/hook/pre_commit/vint.rb +22 -0
  151. data/lib/overcommit/hook/pre_commit/w3c_css.rb +67 -0
  152. data/lib/overcommit/hook/pre_commit/w3c_html.rb +64 -0
  153. data/lib/overcommit/hook/pre_commit/xml_lint.rb +24 -0
  154. data/lib/overcommit/hook/pre_commit/xml_syntax.rb +21 -0
  155. data/lib/overcommit/hook/pre_commit/yaml_lint.rb +18 -0
  156. data/lib/overcommit/hook/pre_commit/yaml_syntax.rb +20 -0
  157. data/lib/overcommit/hook/pre_commit/yard_coverage.rb +90 -0
  158. data/lib/overcommit/hook/pre_commit/yarn_check.rb +37 -0
  159. data/lib/overcommit/hook/pre_push/base.rb +33 -0
  160. data/lib/overcommit/hook/pre_push/brakeman.rb +15 -0
  161. data/lib/overcommit/hook/pre_push/cargo_test.rb +12 -0
  162. data/lib/overcommit/hook/pre_push/go_test.rb +14 -0
  163. data/lib/overcommit/hook/pre_push/golangci_lint.rb +16 -0
  164. data/lib/overcommit/hook/pre_push/minitest.rb +20 -0
  165. data/lib/overcommit/hook/pre_push/php_unit.rb +16 -0
  166. data/lib/overcommit/hook/pre_push/pronto.rb +12 -0
  167. data/lib/overcommit/hook/pre_push/protected_branches.rb +74 -0
  168. data/lib/overcommit/hook/pre_push/pytest.rb +16 -0
  169. data/lib/overcommit/hook/pre_push/python_nose.rb +16 -0
  170. data/lib/overcommit/hook/pre_push/r_spec.rb +16 -0
  171. data/lib/overcommit/hook/pre_push/rake_target.rb +12 -0
  172. data/lib/overcommit/hook/pre_push/test_unit.rb +16 -0
  173. data/lib/overcommit/hook/pre_rebase/base.rb +14 -0
  174. data/lib/overcommit/hook/pre_rebase/merged_commits.rb +31 -0
  175. data/lib/overcommit/hook/prepare_commit_msg/base.rb +25 -0
  176. data/lib/overcommit/hook/prepare_commit_msg/replace_branch.rb +57 -0
  177. data/lib/overcommit/hook/shared/bower_install.rb +15 -0
  178. data/lib/overcommit/hook/shared/bundle_install.rb +15 -0
  179. data/lib/overcommit/hook/shared/composer_install.rb +15 -0
  180. data/lib/overcommit/hook/shared/index_tags.rb +14 -0
  181. data/lib/overcommit/hook/shared/npm_install.rb +15 -0
  182. data/lib/overcommit/hook/shared/pronto.rb +21 -0
  183. data/lib/overcommit/hook/shared/rake_target.rb +26 -0
  184. data/lib/overcommit/hook/shared/submodule_status.rb +32 -0
  185. data/lib/overcommit/hook/shared/yarn_install.rb +15 -0
  186. data/lib/overcommit/hook_context.rb +19 -0
  187. data/lib/overcommit/hook_context/base.rb +139 -0
  188. data/lib/overcommit/hook_context/commit_msg.rb +48 -0
  189. data/lib/overcommit/hook_context/post_checkout.rb +36 -0
  190. data/lib/overcommit/hook_context/post_commit.rb +33 -0
  191. data/lib/overcommit/hook_context/post_merge.rb +37 -0
  192. data/lib/overcommit/hook_context/post_rewrite.rb +49 -0
  193. data/lib/overcommit/hook_context/pre_commit.rb +212 -0
  194. data/lib/overcommit/hook_context/pre_push.rb +89 -0
  195. data/lib/overcommit/hook_context/pre_rebase.rb +38 -0
  196. data/lib/overcommit/hook_context/prepare_commit_msg.rb +34 -0
  197. data/lib/overcommit/hook_context/run_all.rb +48 -0
  198. data/lib/overcommit/hook_loader/base.rb +48 -0
  199. data/lib/overcommit/hook_loader/built_in_hook_loader.rb +14 -0
  200. data/lib/overcommit/hook_loader/plugin_hook_loader.rb +102 -0
  201. data/lib/overcommit/hook_runner.rb +219 -0
  202. data/lib/overcommit/hook_signer.rb +123 -0
  203. data/lib/overcommit/installer.rb +193 -0
  204. data/lib/overcommit/interrupt_handler.rb +91 -0
  205. data/lib/overcommit/logger.rb +92 -0
  206. data/lib/overcommit/message_processor.rb +148 -0
  207. data/lib/overcommit/os.rb +38 -0
  208. data/lib/overcommit/printer.rb +145 -0
  209. data/lib/overcommit/subprocess.rb +98 -0
  210. data/lib/overcommit/utils.rb +309 -0
  211. data/lib/overcommit/utils/file_utils.rb +71 -0
  212. data/lib/overcommit/utils/messages_utils.rb +77 -0
  213. data/lib/overcommit/version.rb +6 -0
  214. data/libexec/gerrit-change-id +174 -0
  215. data/libexec/index-tags +17 -0
  216. data/template-dir/hooks/commit-msg +116 -0
  217. data/template-dir/hooks/overcommit-hook +116 -0
  218. data/template-dir/hooks/post-checkout +116 -0
  219. data/template-dir/hooks/post-commit +116 -0
  220. data/template-dir/hooks/post-merge +116 -0
  221. data/template-dir/hooks/post-rewrite +116 -0
  222. data/template-dir/hooks/pre-commit +116 -0
  223. data/template-dir/hooks/pre-push +116 -0
  224. data/template-dir/hooks/pre-rebase +116 -0
  225. data/template-dir/hooks/prepare-commit-msg +116 -0
  226. metadata +303 -0
@@ -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
@@ -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
@@ -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
@@ -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