overcommit 0.32.0.rc1 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/default.yml +109 -94
- data/lib/overcommit/exceptions.rb +3 -0
- data/lib/overcommit/git_repo.rb +6 -0
- data/lib/overcommit/hook/base.rb +13 -3
- data/lib/overcommit/hook/commit_msg/message_format.rb +27 -0
- data/lib/overcommit/hook/pre_commit/base.rb +13 -7
- data/lib/overcommit/hook/pre_commit/es_lint.rb +10 -0
- data/lib/overcommit/hook/pre_commit/execute_permissions.rb +10 -0
- data/lib/overcommit/hook/pre_commit/forbidden_branches.rb +24 -0
- data/lib/overcommit/hook/pre_commit/scss_lint.rb +23 -10
- data/lib/overcommit/hook/pre_push/minitest.rb +4 -0
- data/lib/overcommit/hook_context/base.rb +7 -0
- data/lib/overcommit/hook_context/pre_commit.rb +7 -0
- data/lib/overcommit/hook_context/run_all.rb +1 -1
- data/lib/overcommit/hook_runner.rb +3 -0
- data/lib/overcommit/version.rb +1 -1
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e0c2c570d206163b748a1aefa226cacfbe1987a6
|
4
|
+
data.tar.gz: fd391b54a75ca207031562fc896d2dfa57494088
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df5aecb87481a132a0fc6b0d5ee0ac651a9ca74ba962a0563fc66b5a5583d19aad33293e25bd71626aecbdfe186d7af0e2be1bbda440c8ec2ffc5b5c4507dc8e
|
7
|
+
data.tar.gz: d2eb883b0d1bb0bfd0a4b970150e466eb5a5fe5631d49d876b8c9b751463120efb99a9c788c2079b6907679dbc778b6ab780fed382c14d510df702ee406988da
|
data/config/default.yml
CHANGED
@@ -62,46 +62,53 @@ CommitMsg:
|
|
62
62
|
|
63
63
|
CapitalizedSubject:
|
64
64
|
enabled: true
|
65
|
-
description: '
|
65
|
+
description: 'Check subject capitalization'
|
66
66
|
|
67
67
|
EmptyMessage:
|
68
68
|
enabled: true
|
69
|
-
description: '
|
69
|
+
description: 'Check for empty commit message'
|
70
70
|
quiet: true
|
71
71
|
|
72
72
|
GerritChangeId:
|
73
73
|
enabled: false
|
74
|
-
description: '
|
74
|
+
description: 'Ensure Gerrit Change-Id is present'
|
75
75
|
required: true
|
76
76
|
|
77
77
|
HardTabs:
|
78
78
|
enabled: false
|
79
|
-
description: '
|
79
|
+
description: 'Check for hard tabs'
|
80
|
+
|
81
|
+
MessageFormat:
|
82
|
+
enabled: false
|
83
|
+
description: 'Check commit message matches expected pattern'
|
84
|
+
pattern: '(.+)[|](.+)[|](.+)'
|
85
|
+
expected_pattern_message: '<Issue Id> | <Commit Message Description> | <Developer(s)>'
|
86
|
+
sample_message: 'DEFECT-1234 | Refactored Onboarding flow | John Doe'
|
80
87
|
|
81
88
|
RussianNovel:
|
82
89
|
enabled: false
|
83
|
-
description: '
|
90
|
+
description: 'Check length of commit message'
|
84
91
|
quiet: true
|
85
92
|
|
86
93
|
SingleLineSubject:
|
87
94
|
enabled: true
|
88
|
-
description: '
|
95
|
+
description: 'Check subject line'
|
89
96
|
|
90
97
|
SpellCheck:
|
91
98
|
enabled: false
|
92
|
-
description: '
|
99
|
+
description: 'Check for misspelled words'
|
93
100
|
required_executable: 'hunspell'
|
94
101
|
flags: ['-a']
|
95
102
|
|
96
103
|
TextWidth:
|
97
104
|
enabled: true
|
98
|
-
description: '
|
105
|
+
description: 'Check text width'
|
99
106
|
max_subject_width: 60
|
100
107
|
max_body_width: 72
|
101
108
|
|
102
109
|
TrailingPeriod:
|
103
110
|
enabled: true
|
104
|
-
description: '
|
111
|
+
description: 'Check for trailing periods in subject'
|
105
112
|
|
106
113
|
# Hooks that are run after `git commit` is executed, before the commit message
|
107
114
|
# editor is displayed. These hooks are ideal for syntax checkers, linters, and
|
@@ -116,7 +123,7 @@ PreCommit:
|
|
116
123
|
|
117
124
|
AuthorEmail:
|
118
125
|
enabled: true
|
119
|
-
description: '
|
126
|
+
description: 'Check author email'
|
120
127
|
requires_files: false
|
121
128
|
required: true
|
122
129
|
quiet: true
|
@@ -124,14 +131,14 @@ PreCommit:
|
|
124
131
|
|
125
132
|
AuthorName:
|
126
133
|
enabled: true
|
127
|
-
description: '
|
134
|
+
description: 'Check for author name'
|
128
135
|
requires_files: false
|
129
136
|
required: true
|
130
137
|
quiet: true
|
131
138
|
|
132
139
|
BerksfileCheck:
|
133
140
|
enabled: false
|
134
|
-
description: '
|
141
|
+
description: 'Check Berksfile lock'
|
135
142
|
required_executable: 'berks'
|
136
143
|
flags: ['list', '--quiet']
|
137
144
|
install_command: 'gem install berks'
|
@@ -141,7 +148,7 @@ PreCommit:
|
|
141
148
|
|
142
149
|
Brakeman:
|
143
150
|
enabled: false
|
144
|
-
description: '
|
151
|
+
description: 'Check for security vulnerabilities'
|
145
152
|
required_executable: 'brakeman'
|
146
153
|
flags: ['--exit-on-warn', '--quiet', '--summary', '--only-files']
|
147
154
|
install_command: 'gem install brakeman'
|
@@ -150,12 +157,12 @@ PreCommit:
|
|
150
157
|
|
151
158
|
BrokenSymlinks:
|
152
159
|
enabled: true
|
153
|
-
description: '
|
160
|
+
description: 'Check for broken symlinks'
|
154
161
|
quiet: true
|
155
162
|
|
156
163
|
BundleCheck:
|
157
164
|
enabled: false
|
158
|
-
description: '
|
165
|
+
description: 'Check Gemfile dependencies'
|
159
166
|
required_executable: 'bundle'
|
160
167
|
flags: ['check']
|
161
168
|
install_command: 'gem install bundler'
|
@@ -166,12 +173,12 @@ PreCommit:
|
|
166
173
|
|
167
174
|
CaseConflicts:
|
168
175
|
enabled: true
|
169
|
-
description: '
|
176
|
+
description: 'Check for case-insensitivity conflicts'
|
170
177
|
quiet: true
|
171
178
|
|
172
179
|
ChamberSecurity:
|
173
180
|
enabled: false
|
174
|
-
description: '
|
181
|
+
description: 'Check that settings have been secured with Chamber'
|
175
182
|
required_executable: 'chamber'
|
176
183
|
flags: ['secure', '--files']
|
177
184
|
install_command: 'gem install chamber'
|
@@ -181,7 +188,7 @@ PreCommit:
|
|
181
188
|
|
182
189
|
CoffeeLint:
|
183
190
|
enabled: false
|
184
|
-
description: '
|
191
|
+
description: 'Analyze with coffeelint'
|
185
192
|
required_executable: 'coffeelint'
|
186
193
|
flags: ['--reporter=csv']
|
187
194
|
install_command: 'npm install -g coffeelint'
|
@@ -189,7 +196,7 @@ PreCommit:
|
|
189
196
|
|
190
197
|
CssLint:
|
191
198
|
enabled: false
|
192
|
-
description: '
|
199
|
+
description: 'Analyze with csslint'
|
193
200
|
required_executable: 'csslint'
|
194
201
|
flags: ['--quiet', '--format=compact']
|
195
202
|
install_command: 'npm install -g csslint'
|
@@ -197,7 +204,7 @@ PreCommit:
|
|
197
204
|
|
198
205
|
Dogma:
|
199
206
|
enabled: false
|
200
|
-
description: '
|
207
|
+
description: 'Analyze with dogma'
|
201
208
|
required_executable: 'mix'
|
202
209
|
flags: ['dogma']
|
203
210
|
include:
|
@@ -206,7 +213,7 @@ PreCommit:
|
|
206
213
|
|
207
214
|
EsLint:
|
208
215
|
enabled: false
|
209
|
-
description: '
|
216
|
+
description: 'Analyze with ESLint'
|
210
217
|
required_executable: 'eslint'
|
211
218
|
flags: ['--format=compact']
|
212
219
|
install_command: 'npm install -g eslint'
|
@@ -214,19 +221,25 @@ PreCommit:
|
|
214
221
|
|
215
222
|
ExecutePermissions:
|
216
223
|
enabled: false
|
217
|
-
description: '
|
224
|
+
description: 'Check for file execute permissions'
|
225
|
+
quiet: true
|
226
|
+
|
227
|
+
ForbiddenBranches:
|
228
|
+
enabled: false
|
229
|
+
description: 'Check for commit to forbidden branch'
|
218
230
|
quiet: true
|
231
|
+
branch_patterns: ['master']
|
219
232
|
|
220
233
|
GoLint:
|
221
234
|
enabled: false
|
222
|
-
description: '
|
235
|
+
description: 'Analyze with golint'
|
223
236
|
required_executable: 'golint'
|
224
237
|
install_command: 'go get github.com/golang/lint/golint'
|
225
238
|
include: '**/*.go'
|
226
239
|
|
227
240
|
GoVet:
|
228
241
|
enabled: false
|
229
|
-
description: '
|
242
|
+
description: 'Analyze with go vet'
|
230
243
|
required_executable: 'go'
|
231
244
|
flags: ['tool', 'vet']
|
232
245
|
install_command: 'go get golang.org/x/tools/cmd/vet'
|
@@ -234,42 +247,42 @@ PreCommit:
|
|
234
247
|
|
235
248
|
HamlLint:
|
236
249
|
enabled: false
|
237
|
-
description: '
|
250
|
+
description: 'Analyze with haml-lint'
|
238
251
|
required_executable: 'haml-lint'
|
239
252
|
install_command: 'gem install haml-lint'
|
240
253
|
include: '**/*.haml'
|
241
254
|
|
242
255
|
HardTabs:
|
243
256
|
enabled: false
|
244
|
-
description: '
|
257
|
+
description: 'Check for hard tabs'
|
245
258
|
quiet: true
|
246
259
|
required_executable: 'grep'
|
247
260
|
flags: ['-IHn', "\t"]
|
248
261
|
|
249
262
|
Hlint:
|
250
263
|
enabled: false
|
251
|
-
description: '
|
264
|
+
description: 'Analyze with hlint'
|
252
265
|
required_executable: 'hlint'
|
253
266
|
install_command: 'cabal install hlint'
|
254
267
|
include: '**/*.hs'
|
255
268
|
|
256
269
|
HtmlHint:
|
257
270
|
enabled: false
|
258
|
-
description: '
|
271
|
+
description: 'Analyze with HTMLHint'
|
259
272
|
required_executable: 'htmlhint'
|
260
273
|
install_command: 'npm install -g htmlhint'
|
261
274
|
include: '**/*.html'
|
262
275
|
|
263
276
|
HtmlTidy:
|
264
277
|
enabled: false
|
265
|
-
description: '
|
278
|
+
description: 'Analyze HTML with tidy'
|
266
279
|
required_executable: 'tidy'
|
267
280
|
flags: ['-errors', '-quiet', '-utf8']
|
268
281
|
include: '**/*.html'
|
269
282
|
|
270
283
|
ImageOptim:
|
271
284
|
enabled: false
|
272
|
-
description: '
|
285
|
+
description: 'Check for optimizable images'
|
273
286
|
required_executable: 'image_optim'
|
274
287
|
install_command: 'gem install image_optim'
|
275
288
|
include:
|
@@ -281,14 +294,14 @@ PreCommit:
|
|
281
294
|
|
282
295
|
JavaCheckstyle:
|
283
296
|
enabled: false
|
284
|
-
description: '
|
297
|
+
description: 'Analyze with checkstyle'
|
285
298
|
required_executable: 'checkstyle'
|
286
299
|
flags: ['-c', '/sun_checks.xml']
|
287
300
|
include: '**/*.java'
|
288
301
|
|
289
302
|
Jscs:
|
290
303
|
enabled: false
|
291
|
-
description: '
|
304
|
+
description: 'Analyze with JSCS'
|
292
305
|
required_executable: 'jscs'
|
293
306
|
flags: ['--reporter=inline', '--verbose']
|
294
307
|
install_command: 'npm install -g jscs'
|
@@ -296,7 +309,7 @@ PreCommit:
|
|
296
309
|
|
297
310
|
JsHint:
|
298
311
|
enabled: false
|
299
|
-
description: '
|
312
|
+
description: 'Analyze with JSHint'
|
300
313
|
required_executable: 'jshint'
|
301
314
|
flags: ['--verbose']
|
302
315
|
install_command: 'npm install -g jshint'
|
@@ -304,7 +317,7 @@ PreCommit:
|
|
304
317
|
|
305
318
|
JsLint:
|
306
319
|
enabled: false
|
307
|
-
description: '
|
320
|
+
description: 'Analyze with JSLint'
|
308
321
|
required_executable: 'jslint'
|
309
322
|
flags: ['--terse']
|
310
323
|
install_command: 'npm install -g jslint'
|
@@ -312,63 +325,63 @@ PreCommit:
|
|
312
325
|
|
313
326
|
Jsl:
|
314
327
|
enabled: false
|
315
|
-
description: '
|
328
|
+
description: 'Analyze with JSL'
|
316
329
|
required_executable: 'jsl'
|
317
330
|
flags: ['-nologo', '-nofilelisting', '-nocontext', '-nosummary']
|
318
331
|
include: '**/*.js'
|
319
332
|
|
320
333
|
JsonSyntax:
|
321
334
|
enabled: false
|
322
|
-
description: '
|
335
|
+
description: 'Validate JSON syntax'
|
323
336
|
required_library: 'json'
|
324
337
|
install_command: 'gem install json'
|
325
338
|
include: '**/*.json'
|
326
339
|
|
327
340
|
LocalPathsInGemfile:
|
328
341
|
enabled: false
|
329
|
-
description: '
|
342
|
+
description: 'Check for local paths in Gemfile'
|
330
343
|
required_executable: 'grep'
|
331
344
|
flags: ['-IHnE', "^[^#]*((\\bpath:)|(:path[ \t]*=>))"]
|
332
345
|
include: '**/Gemfile'
|
333
346
|
|
334
347
|
Mdl:
|
335
348
|
enabled: false
|
336
|
-
description: '
|
349
|
+
description: 'Analyze with mdl'
|
337
350
|
required_executable: 'mdl'
|
338
351
|
install_command: 'gem install mdl'
|
339
352
|
include: '**/*.md'
|
340
353
|
|
341
354
|
MergeConflicts:
|
342
355
|
enabled: true
|
343
|
-
description: '
|
356
|
+
description: 'Check for merge conflicts'
|
344
357
|
quiet: true
|
345
358
|
required_executable: 'grep'
|
346
359
|
flags: ['-IHn', "^<<<<<<<[ \t]"]
|
347
360
|
|
348
361
|
NginxTest:
|
349
362
|
enabled: false
|
350
|
-
description: '
|
363
|
+
description: 'Test nginx configs'
|
351
364
|
required_executable: 'nginx'
|
352
365
|
flags: ['-t']
|
353
366
|
include: '**/nginx.conf'
|
354
367
|
|
355
368
|
Pep257:
|
356
369
|
enabled: false
|
357
|
-
description: '
|
370
|
+
description: 'Analyze docstrings with pep257'
|
358
371
|
required_executable: 'pep257'
|
359
372
|
install_command: 'pip install pep257'
|
360
373
|
include: '**/*.py'
|
361
374
|
|
362
375
|
Pep8:
|
363
376
|
enabled: false
|
364
|
-
description: '
|
377
|
+
description: 'Analyze with pep8'
|
365
378
|
required_executable: 'pep8'
|
366
379
|
install_command: 'pip install pep8'
|
367
380
|
include: '**/*.py'
|
368
381
|
|
369
382
|
PuppetLint:
|
370
383
|
enabled: false
|
371
|
-
description: '
|
384
|
+
description: 'Analyze with puppet-lint'
|
372
385
|
required_executable: 'puppet-lint'
|
373
386
|
install_command: 'gem install puppet-lint'
|
374
387
|
flags:
|
@@ -379,14 +392,14 @@ PreCommit:
|
|
379
392
|
|
380
393
|
Pyflakes:
|
381
394
|
enabled: false
|
382
|
-
description: '
|
395
|
+
description: 'Analyze with pyflakes'
|
383
396
|
required_executable: 'pyflakes'
|
384
397
|
install_command: 'pip install pyflakes'
|
385
398
|
include: '**/*.py'
|
386
399
|
|
387
400
|
Pylint:
|
388
401
|
enabled: false
|
389
|
-
description: '
|
402
|
+
description: 'Analyze with Pylint'
|
390
403
|
required_executable: 'pylint'
|
391
404
|
install_command: 'pip install pylint'
|
392
405
|
flags:
|
@@ -397,21 +410,21 @@ PreCommit:
|
|
397
410
|
|
398
411
|
PythonFlake8:
|
399
412
|
enabled: false
|
400
|
-
description: '
|
413
|
+
description: 'Analyze with flake8'
|
401
414
|
required_executable: 'flake8'
|
402
415
|
install_command: 'pip install flake8'
|
403
416
|
include: '**/*.py'
|
404
417
|
|
405
418
|
RailsBestPractices:
|
406
419
|
enabled: false
|
407
|
-
description: '
|
420
|
+
description: 'Analyze with RailsBestPractices'
|
408
421
|
required_executable: 'rails_best_practices'
|
409
422
|
flags: ['--without-color']
|
410
423
|
install_command: 'gem install rails_best_practices'
|
411
424
|
|
412
425
|
RailsSchemaUpToDate:
|
413
426
|
enabled: false
|
414
|
-
description: '
|
427
|
+
description: 'Check if database schema is up to date'
|
415
428
|
include:
|
416
429
|
- 'db/migrate/*.rb'
|
417
430
|
- 'db/schema.rb'
|
@@ -419,7 +432,7 @@ PreCommit:
|
|
419
432
|
|
420
433
|
Reek:
|
421
434
|
enabled: false
|
422
|
-
description: '
|
435
|
+
description: 'Analyze with Reek'
|
423
436
|
required_executable: 'reek'
|
424
437
|
flags: ['--single-line', '--no-color']
|
425
438
|
install_command: 'gem install reek'
|
@@ -432,7 +445,7 @@ PreCommit:
|
|
432
445
|
|
433
446
|
RuboCop:
|
434
447
|
enabled: false
|
435
|
-
description: '
|
448
|
+
description: 'Analyze with RuboCop'
|
436
449
|
required_executable: 'rubocop'
|
437
450
|
flags: ['--format=emacs', '--force-exclusion', '--display-cop-names']
|
438
451
|
install_command: 'gem install rubocop'
|
@@ -445,7 +458,7 @@ PreCommit:
|
|
445
458
|
|
446
459
|
RubyLint:
|
447
460
|
enabled: false
|
448
|
-
description: '
|
461
|
+
description: 'Analyze with ruby-lint'
|
449
462
|
required_executable: 'ruby-lint'
|
450
463
|
flags: ['--presenter=syntastic', '--levels=error,warning']
|
451
464
|
install_command: 'gem install ruby-lint'
|
@@ -455,27 +468,29 @@ PreCommit:
|
|
455
468
|
|
456
469
|
Scalariform:
|
457
470
|
enabled: false
|
458
|
-
description: '
|
471
|
+
description: 'Check formatting with Scalariform'
|
459
472
|
required_executable: 'scalariform'
|
460
473
|
flags: ['--test']
|
461
474
|
include: '**/*.scala'
|
462
475
|
|
463
476
|
Scalastyle:
|
464
477
|
enabled: false
|
465
|
-
description: '
|
478
|
+
description: 'Analyze with Scalastyle'
|
466
479
|
required_executable: 'scalastyle'
|
467
480
|
include: '**/*.scala'
|
468
481
|
|
469
482
|
ScssLint:
|
470
483
|
enabled: false
|
471
|
-
description: '
|
484
|
+
description: 'Analyze with scss-lint'
|
485
|
+
required_library: 'json'
|
472
486
|
required_executable: 'scss-lint'
|
487
|
+
flags: ['--format', 'JSON']
|
473
488
|
install_command: 'gem install scss-lint'
|
474
489
|
include: '**/*.scss'
|
475
490
|
|
476
491
|
SemiStandard:
|
477
492
|
enabled: false
|
478
|
-
description: '
|
493
|
+
description: 'Analyze with semistandard'
|
479
494
|
required_executable: 'semistandard'
|
480
495
|
flags: ['--verbose']
|
481
496
|
install_command: 'npm install -g semistandard'
|
@@ -483,28 +498,28 @@ PreCommit:
|
|
483
498
|
|
484
499
|
ShellCheck:
|
485
500
|
enabled: false
|
486
|
-
description: '
|
501
|
+
description: 'Analyze with ShellCheck'
|
487
502
|
required_executable: 'shellcheck'
|
488
503
|
flags: ['--format=gcc']
|
489
504
|
include: '**/*.sh'
|
490
505
|
|
491
506
|
SlimLint:
|
492
507
|
enabled: false
|
493
|
-
description: '
|
508
|
+
description: 'Analyze with slim-lint'
|
494
509
|
required_executable: 'slim-lint'
|
495
510
|
install_command: 'gem install slim_lint'
|
496
511
|
include: '**/*.slim'
|
497
512
|
|
498
513
|
Sqlint:
|
499
514
|
enabled: false
|
500
|
-
description: '
|
515
|
+
description: 'Analyze with sqlint'
|
501
516
|
required_executable: 'sqlint'
|
502
517
|
install_command: 'gem install sqlint'
|
503
518
|
include: '**/*.sql'
|
504
519
|
|
505
520
|
Standard:
|
506
521
|
enabled: false
|
507
|
-
description: '
|
522
|
+
description: 'Analyze with standard'
|
508
523
|
required_executable: 'standard'
|
509
524
|
flags: ['--verbose']
|
510
525
|
install_command: 'npm install -g standard'
|
@@ -512,13 +527,13 @@ PreCommit:
|
|
512
527
|
|
513
528
|
TrailingWhitespace:
|
514
529
|
enabled: false
|
515
|
-
description: '
|
530
|
+
description: 'Check for trailing whitespace'
|
516
531
|
required_executable: 'grep'
|
517
532
|
flags: ['-IHn', "[ \t]$"]
|
518
533
|
|
519
534
|
TravisLint:
|
520
535
|
enabled: false
|
521
|
-
description: '
|
536
|
+
description: 'Check Travis CI configuration'
|
522
537
|
required_executable: 'travis'
|
523
538
|
flags: ['lint']
|
524
539
|
install_command: 'gem install travis'
|
@@ -526,7 +541,7 @@ PreCommit:
|
|
526
541
|
|
527
542
|
Vint:
|
528
543
|
enabled: false
|
529
|
-
description: '
|
544
|
+
description: 'Analyze with Vint'
|
530
545
|
required_executable: 'vint'
|
531
546
|
install_command: 'pip install vim-vint'
|
532
547
|
include:
|
@@ -535,7 +550,7 @@ PreCommit:
|
|
535
550
|
|
536
551
|
W3cCss:
|
537
552
|
enabled: false
|
538
|
-
description: '
|
553
|
+
description: 'Analyze with W3C CSS validation service'
|
539
554
|
required_library: 'w3c_validators'
|
540
555
|
install_command: 'gem install w3c_validators'
|
541
556
|
validator_uri: 'http://jigsaw.w3.org/css-validator/validator'
|
@@ -547,7 +562,7 @@ PreCommit:
|
|
547
562
|
|
548
563
|
W3cHtml:
|
549
564
|
enabled: false
|
550
|
-
description: '
|
565
|
+
description: 'Analyze with W3C HTML validation service'
|
551
566
|
required_library: 'w3c_validators'
|
552
567
|
install_command: 'gem install w3c_validators'
|
553
568
|
validator_uri: 'http://validator.w3.org/check'
|
@@ -558,7 +573,7 @@ PreCommit:
|
|
558
573
|
|
559
574
|
XmlLint:
|
560
575
|
enabled: false
|
561
|
-
description: '
|
576
|
+
description: 'Analyze with xmllint'
|
562
577
|
required_executable: 'xmllint'
|
563
578
|
flags: ['--noout']
|
564
579
|
include:
|
@@ -567,7 +582,7 @@ PreCommit:
|
|
567
582
|
|
568
583
|
XmlSyntax:
|
569
584
|
enabled: false
|
570
|
-
description: '
|
585
|
+
description: 'Check XML syntax'
|
571
586
|
required_library: 'rexml/document'
|
572
587
|
include:
|
573
588
|
- '**/*.xml'
|
@@ -575,7 +590,7 @@ PreCommit:
|
|
575
590
|
|
576
591
|
YamlSyntax:
|
577
592
|
enabled: false
|
578
|
-
description: '
|
593
|
+
description: 'Check YAML syntax'
|
579
594
|
required_library: 'yaml'
|
580
595
|
include:
|
581
596
|
- '**/*.yaml'
|
@@ -589,7 +604,7 @@ PostCheckout:
|
|
589
604
|
|
590
605
|
BowerInstall:
|
591
606
|
enabled: false
|
592
|
-
description: '
|
607
|
+
description: 'Install bower dependencies'
|
593
608
|
requires_files: true
|
594
609
|
required_executable: 'bower'
|
595
610
|
install_command: 'npm install -g bower'
|
@@ -598,7 +613,7 @@ PostCheckout:
|
|
598
613
|
|
599
614
|
BundleInstall:
|
600
615
|
enabled: false
|
601
|
-
description: '
|
616
|
+
description: 'Install Bundler dependencies'
|
602
617
|
requires_files: true
|
603
618
|
required_executable: 'bundle'
|
604
619
|
install_command: 'gem install bundler'
|
@@ -610,13 +625,13 @@ PostCheckout:
|
|
610
625
|
|
611
626
|
IndexTags:
|
612
627
|
enabled: false
|
613
|
-
description: '
|
628
|
+
description: 'Generate tags file from source'
|
614
629
|
quiet: true
|
615
630
|
required_executable: 'ctags'
|
616
631
|
|
617
632
|
NpmInstall:
|
618
633
|
enabled: false
|
619
|
-
description: '
|
634
|
+
description: 'Install NPM dependencies'
|
620
635
|
requires_files: true
|
621
636
|
required_executable: 'npm'
|
622
637
|
flags: ['install']
|
@@ -626,7 +641,7 @@ PostCheckout:
|
|
626
641
|
|
627
642
|
SubmoduleStatus:
|
628
643
|
enabled: false
|
629
|
-
description: '
|
644
|
+
description: 'Check submodule status'
|
630
645
|
quiet: true
|
631
646
|
recursive: false
|
632
647
|
|
@@ -639,7 +654,7 @@ PostCommit:
|
|
639
654
|
|
640
655
|
BowerInstall:
|
641
656
|
enabled: false
|
642
|
-
description: '
|
657
|
+
description: 'Install bower dependencies'
|
643
658
|
requires_files: true
|
644
659
|
required_executable: 'bower'
|
645
660
|
install_command: 'npm install -g bower'
|
@@ -648,7 +663,7 @@ PostCommit:
|
|
648
663
|
|
649
664
|
BundleInstall:
|
650
665
|
enabled: false
|
651
|
-
description: '
|
666
|
+
description: 'Install Bundler dependencies'
|
652
667
|
requires_files: true
|
653
668
|
required_executable: 'bundle'
|
654
669
|
install_command: 'gem install bundler'
|
@@ -660,7 +675,7 @@ PostCommit:
|
|
660
675
|
|
661
676
|
GitGuilt:
|
662
677
|
enabled: false
|
663
|
-
description: '
|
678
|
+
description: 'Calculate changes in blame since last commit'
|
664
679
|
requires_files: true
|
665
680
|
required_executable: 'git-guilt'
|
666
681
|
flags: ['HEAD~', 'HEAD']
|
@@ -668,13 +683,13 @@ PostCommit:
|
|
668
683
|
|
669
684
|
IndexTags:
|
670
685
|
enabled: false
|
671
|
-
description: '
|
686
|
+
description: 'Generate tags file from source'
|
672
687
|
quiet: true
|
673
688
|
required_executable: 'ctags'
|
674
689
|
|
675
690
|
NpmInstall:
|
676
691
|
enabled: false
|
677
|
-
description: '
|
692
|
+
description: 'Install NPM dependencies'
|
678
693
|
requires_files: true
|
679
694
|
required_executable: 'npm'
|
680
695
|
flags: ['install']
|
@@ -684,7 +699,7 @@ PostCommit:
|
|
684
699
|
|
685
700
|
SubmoduleStatus:
|
686
701
|
enabled: false
|
687
|
-
description: '
|
702
|
+
description: 'Check submodule status'
|
688
703
|
quiet: true
|
689
704
|
recursive: false
|
690
705
|
|
@@ -696,7 +711,7 @@ PostMerge:
|
|
696
711
|
|
697
712
|
BowerInstall:
|
698
713
|
enabled: false
|
699
|
-
description: '
|
714
|
+
description: 'Install bower dependencies'
|
700
715
|
requires_files: true
|
701
716
|
required_executable: 'bower'
|
702
717
|
install_command: 'npm install -g bower'
|
@@ -705,7 +720,7 @@ PostMerge:
|
|
705
720
|
|
706
721
|
BundleInstall:
|
707
722
|
enabled: false
|
708
|
-
description: '
|
723
|
+
description: 'Install Bundler dependencies'
|
709
724
|
requires_files: true
|
710
725
|
required_executable: 'bundle'
|
711
726
|
install_command: 'gem install bundler'
|
@@ -717,13 +732,13 @@ PostMerge:
|
|
717
732
|
|
718
733
|
IndexTags:
|
719
734
|
enabled: false
|
720
|
-
description: '
|
735
|
+
description: 'Generate tags file from source'
|
721
736
|
quiet: true
|
722
737
|
required_executable: 'ctags'
|
723
738
|
|
724
739
|
NpmInstall:
|
725
740
|
enabled: false
|
726
|
-
description: '
|
741
|
+
description: 'Install NPM dependencies'
|
727
742
|
requires_files: true
|
728
743
|
required_executable: 'npm'
|
729
744
|
flags: ['install']
|
@@ -733,7 +748,7 @@ PostMerge:
|
|
733
748
|
|
734
749
|
SubmoduleStatus:
|
735
750
|
enabled: false
|
736
|
-
description: '
|
751
|
+
description: 'Check submodule status'
|
737
752
|
quiet: true
|
738
753
|
recursive: false
|
739
754
|
|
@@ -745,7 +760,7 @@ PostRewrite:
|
|
745
760
|
|
746
761
|
BowerInstall:
|
747
762
|
enabled: false
|
748
|
-
description: '
|
763
|
+
description: 'Install bower dependencies'
|
749
764
|
requires_files: true
|
750
765
|
required_executable: 'bower'
|
751
766
|
install_command: 'npm install -g bower'
|
@@ -754,7 +769,7 @@ PostRewrite:
|
|
754
769
|
|
755
770
|
BundleInstall:
|
756
771
|
enabled: false
|
757
|
-
description: '
|
772
|
+
description: 'Install Bundler dependencies'
|
758
773
|
requires_files: true
|
759
774
|
required_executable: 'bundle'
|
760
775
|
install_command: 'gem install bundler'
|
@@ -766,13 +781,13 @@ PostRewrite:
|
|
766
781
|
|
767
782
|
IndexTags:
|
768
783
|
enabled: false
|
769
|
-
description: '
|
784
|
+
description: 'Generate tags file from source'
|
770
785
|
quiet: true
|
771
786
|
required_executable: 'ctags'
|
772
787
|
|
773
788
|
NpmInstall:
|
774
789
|
enabled: false
|
775
|
-
description: '
|
790
|
+
description: 'Install NPM dependencies'
|
776
791
|
requires_files: true
|
777
792
|
required_executable: 'npm'
|
778
793
|
flags: ['install']
|
@@ -782,7 +797,7 @@ PostRewrite:
|
|
782
797
|
|
783
798
|
SubmoduleStatus:
|
784
799
|
enabled: false
|
785
|
-
description: '
|
800
|
+
description: 'Check submodule status'
|
786
801
|
quiet: true
|
787
802
|
recursive: false
|
788
803
|
|
@@ -796,19 +811,19 @@ PrePush:
|
|
796
811
|
|
797
812
|
ProtectedBranches:
|
798
813
|
enabled: false
|
799
|
-
description: '
|
814
|
+
description: 'Check for illegal pushes to protected branches'
|
800
815
|
branches: ['master']
|
801
816
|
|
802
817
|
RSpec:
|
803
818
|
enabled: false
|
804
|
-
description: '
|
819
|
+
description: 'Run RSpec test suite'
|
805
820
|
required_executable: 'rspec'
|
806
821
|
|
807
822
|
Minitest:
|
808
823
|
enabled: false
|
809
|
-
description: '
|
810
|
-
command: ['ruby', '-Ilib:test', '
|
811
|
-
|
824
|
+
description: 'Run Minitest test suite'
|
825
|
+
command: ['ruby', '-Ilib:test', '-rminitest', "-e 'exit! Minitest.run'"]
|
826
|
+
include: 'test/**/*_test.rb'
|
812
827
|
|
813
828
|
# Hooks that run during `git rebase`, before any commits are rebased.
|
814
829
|
# If a hook fails, the rebase is aborted.
|
@@ -820,5 +835,5 @@ PreRebase:
|
|
820
835
|
|
821
836
|
MergedCommits:
|
822
837
|
enabled: false
|
823
|
-
description: '
|
838
|
+
description: 'Check for commits that have already been merged'
|
824
839
|
branches: ['master']
|
@@ -42,6 +42,9 @@ module Overcommit::Exceptions
|
|
42
42
|
# Raised when one or more hook plugin signatures have changed.
|
43
43
|
class InvalidHookSignature < StandardError; end
|
44
44
|
|
45
|
+
# Raised when there is a problem processing output into {Hook::Messages}s.
|
46
|
+
class MessageProcessingError < StandardError; end
|
47
|
+
|
45
48
|
# Raised when an installation target already contains non-Overcommit hooks.
|
46
49
|
class PreExistingHooks < StandardError; end
|
47
50
|
end
|
data/lib/overcommit/git_repo.rb
CHANGED
@@ -266,5 +266,11 @@ module Overcommit
|
|
266
266
|
split(/\s+/).
|
267
267
|
reject { |s| s.empty? || s == '*' }
|
268
268
|
end
|
269
|
+
|
270
|
+
# Returns the name of the currently checked out branch.
|
271
|
+
# @return [String]
|
272
|
+
def current_branch
|
273
|
+
`git symbolic-ref --short -q HEAD`.chomp
|
274
|
+
end
|
269
275
|
end
|
270
276
|
end
|
data/lib/overcommit/hook/base.rb
CHANGED
@@ -17,7 +17,7 @@ module Overcommit::Hook
|
|
17
17
|
class Base # rubocop:disable Metrics/ClassLength
|
18
18
|
extend Forwardable
|
19
19
|
|
20
|
-
def_delegators :@context, :modified_files
|
20
|
+
def_delegators :@context, :all_files, :modified_files
|
21
21
|
attr_reader :config
|
22
22
|
|
23
23
|
# @param config [Overcommit::Configuration]
|
@@ -54,7 +54,7 @@ module Overcommit::Hook
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def description
|
57
|
-
@config['description'] || "
|
57
|
+
@config['description'] || "Run #{name}"
|
58
58
|
end
|
59
59
|
|
60
60
|
def required?
|
@@ -155,11 +155,21 @@ module Overcommit::Hook
|
|
155
155
|
# Gets a list of staged files that apply to this hook based on its
|
156
156
|
# configured `include` and `exclude` lists.
|
157
157
|
def applicable_files
|
158
|
-
@applicable_files ||= modified_files
|
158
|
+
@applicable_files ||= select_applicable(modified_files)
|
159
|
+
end
|
160
|
+
|
161
|
+
# Gets a list of all files that apply to this hook based on its
|
162
|
+
# configured `include` and `exclude` lists.
|
163
|
+
def included_files
|
164
|
+
@included_files ||= select_applicable(all_files)
|
159
165
|
end
|
160
166
|
|
161
167
|
private
|
162
168
|
|
169
|
+
def select_applicable(list)
|
170
|
+
list.select { |file| applicable_file?(file) }.sort
|
171
|
+
end
|
172
|
+
|
163
173
|
def applicable_file?(file)
|
164
174
|
includes = Array(@config['include']).flatten.map do |glob|
|
165
175
|
Overcommit::Utils.convert_glob_to_absolute(glob)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Overcommit::Hook::CommitMsg
|
2
|
+
# Ensures the commit message follows a specific format.
|
3
|
+
class MessageFormat < Base
|
4
|
+
def run
|
5
|
+
error_msg = validate_pattern(commit_message_lines.join("\n"))
|
6
|
+
return :fail, error_msg if error_msg
|
7
|
+
|
8
|
+
:pass
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def validate_pattern(message)
|
14
|
+
pattern = config['pattern']
|
15
|
+
return if pattern.empty?
|
16
|
+
|
17
|
+
expected_pattern_message = config['expected_pattern_message']
|
18
|
+
sample_message = config['sample_message']
|
19
|
+
|
20
|
+
[
|
21
|
+
'Commit message pattern mismatch.',
|
22
|
+
"Expected : #{expected_pattern_message}",
|
23
|
+
"Sample : #{sample_message}"
|
24
|
+
].join("\n") unless message =~ /#{pattern}/
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -22,13 +22,16 @@ module Overcommit::Hook::PreCommit
|
|
22
22
|
# @param type_categorizer [Proc] function executed against the `type`
|
23
23
|
# capture group to convert it to a `:warning` or `:error` symbol. Assumes
|
24
24
|
# `:error` if `nil`.
|
25
|
-
# @raise [
|
25
|
+
# @raise [Overcommit::Exceptions::MessageProcessingError] line of output did
|
26
|
+
# not match regex
|
26
27
|
# @return [Array<Message>]
|
27
28
|
def extract_messages(output_messages, regex, type_categorizer = nil)
|
28
|
-
output_messages.map do |message|
|
29
|
+
output_messages.map.with_index do |message, index|
|
29
30
|
unless match = message.match(regex)
|
30
|
-
raise
|
31
|
-
|
31
|
+
raise Overcommit::Exceptions::MessageProcessingError,
|
32
|
+
'Unexpected output: unable to determine line number or type ' \
|
33
|
+
"of error/warning for output:\n" \
|
34
|
+
"#{output_messages[index..-1].join("\n")}"
|
32
35
|
end
|
33
36
|
|
34
37
|
file = extract_file(match, message)
|
@@ -43,7 +46,8 @@ module Overcommit::Hook::PreCommit
|
|
43
46
|
return unless match.names.include?('file')
|
44
47
|
|
45
48
|
if match[:file].to_s.empty?
|
46
|
-
raise
|
49
|
+
raise Overcommit::Exceptions::MessageProcessingError,
|
50
|
+
"Unexpected output: no file found in '#{message}'"
|
47
51
|
end
|
48
52
|
|
49
53
|
match[:file]
|
@@ -53,7 +57,8 @@ module Overcommit::Hook::PreCommit
|
|
53
57
|
return unless match.names.include?('line')
|
54
58
|
Integer(match[:line])
|
55
59
|
rescue ArgumentError, TypeError
|
56
|
-
raise
|
60
|
+
raise Overcommit::Exceptions::MessageProcessingError,
|
61
|
+
"Unexpected output: invalid line number found in '#{message}'"
|
57
62
|
end
|
58
63
|
|
59
64
|
def extract_type(match, message, type_categorizer)
|
@@ -61,7 +66,8 @@ module Overcommit::Hook::PreCommit
|
|
61
66
|
type_match = match.names.include?('type') ? match[:type] : nil
|
62
67
|
type = type_categorizer.call(type_match)
|
63
68
|
unless Overcommit::Hook::MESSAGE_TYPES.include?(type)
|
64
|
-
raise
|
69
|
+
raise Overcommit::Exceptions::MessageProcessingError,
|
70
|
+
"Invalid message type '#{type}' for '#{message}': must " \
|
65
71
|
"be one of #{Overcommit::Hook::MESSAGE_TYPES.inspect}"
|
66
72
|
end
|
67
73
|
type
|
@@ -1,6 +1,16 @@
|
|
1
1
|
module Overcommit::Hook::PreCommit
|
2
2
|
# Runs `eslint` against any modified JavaScript files.
|
3
3
|
#
|
4
|
+
# Protip: if you have an npm script set up to run eslint, you can configure
|
5
|
+
# this hook to run eslint via your npm script by using the `command` option in
|
6
|
+
# your .overcommit.yml file. This can be useful if you have some eslint
|
7
|
+
# configuration built into your npm script that you don't want to repeat
|
8
|
+
# somewhere else. Example:
|
9
|
+
#
|
10
|
+
# EsLint:
|
11
|
+
# enabled: true
|
12
|
+
# command: ['npm', 'run', 'lint']
|
13
|
+
#
|
4
14
|
# @see http://eslint.org/
|
5
15
|
class EsLint < Base
|
6
16
|
def run
|
@@ -2,6 +2,16 @@ module Overcommit::Hook::PreCommit
|
|
2
2
|
# Checks for files with execute permissions, which are usually not necessary
|
3
3
|
# in source code files (and are typically caused by a misconfigured editor
|
4
4
|
# assigning incorrect default permissions).
|
5
|
+
#
|
6
|
+
# Protip: if you have some files that you want to allow execute permissions
|
7
|
+
# on, you can disable this hook for those files by using the `exclude` option
|
8
|
+
# on your .overcommit.yml file. Example:
|
9
|
+
#
|
10
|
+
# ExecutePermissions:
|
11
|
+
# enabled: true
|
12
|
+
# exclude:
|
13
|
+
# - 'path/to/my/file/that/should/have/execute/permissions.sh'
|
14
|
+
# - 'directory/that/should/have/execute/permissions/**/*'
|
5
15
|
class ExecutePermissions < Base
|
6
16
|
def run
|
7
17
|
file_modes = {}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Overcommit::Hook::PreCommit
|
2
|
+
# Prevents commits to branches matching one of the configured patterns.
|
3
|
+
class ForbiddenBranches < Base
|
4
|
+
def run
|
5
|
+
return :pass unless forbidden_commit?
|
6
|
+
|
7
|
+
[:fail, "Committing to #{current_branch} is forbidden"]
|
8
|
+
end
|
9
|
+
|
10
|
+
private
|
11
|
+
|
12
|
+
def forbidden_commit?
|
13
|
+
forbidden_branch_patterns.any? { |p| File.fnmatch(p, current_branch) }
|
14
|
+
end
|
15
|
+
|
16
|
+
def forbidden_branch_patterns
|
17
|
+
@forbidden_branch_patterns ||= Array(config['branch_patterns'])
|
18
|
+
end
|
19
|
+
|
20
|
+
def current_branch
|
21
|
+
@current_branch ||= Overcommit::GitRepo.current_branch
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -3,10 +3,6 @@ module Overcommit::Hook::PreCommit
|
|
3
3
|
#
|
4
4
|
# @see https://github.com/brigade/scss-lint
|
5
5
|
class ScssLint < Base
|
6
|
-
MESSAGE_TYPE_CATEGORIZER = lambda do |type|
|
7
|
-
type.include?('W') ? :warning : :error
|
8
|
-
end
|
9
|
-
|
10
6
|
def run
|
11
7
|
result = execute(command, args: applicable_files)
|
12
8
|
|
@@ -16,13 +12,30 @@ module Overcommit::Hook::PreCommit
|
|
16
12
|
return :pass if [0, 81].include?(result.status)
|
17
13
|
|
18
14
|
# Any status that isn't indicating lint warnings or errors indicates failure
|
19
|
-
return :fail, result.stdout unless [1, 2].include?(result.status)
|
15
|
+
return :fail, (result.stdout + result.stderr) unless [1, 2].include?(result.status)
|
16
|
+
|
17
|
+
begin
|
18
|
+
collect_lint_messages(JSON.parse(result.stdout))
|
19
|
+
rescue JSON::ParserError => ex
|
20
|
+
return :fail, "Unable to parse JSON returned by SCSS-Lint: #{ex.message}\n" \
|
21
|
+
"STDOUT: #{result.stdout}\nSTDERR: #{result.stderr}"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
def collect_lint_messages(files_to_lints)
|
28
|
+
files_to_lints.flat_map do |path, lints|
|
29
|
+
lints.map do |lint|
|
30
|
+
severity = lint['severity'] == 'warning' ? :warning : :error
|
31
|
+
|
32
|
+
message = lint['reason']
|
33
|
+
message = "#{lint['linter']}: #{message}" if lint['linter']
|
34
|
+
message = "#{path}:#{lint['line']} #{message}"
|
20
35
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
MESSAGE_TYPE_CATEGORIZER,
|
25
|
-
)
|
36
|
+
Overcommit::Hook::Message.new(severity, path, lint['line'], message)
|
37
|
+
end
|
38
|
+
end
|
26
39
|
end
|
27
40
|
end
|
28
41
|
end
|
@@ -79,6 +79,13 @@ module Overcommit::HookContext
|
|
79
79
|
[]
|
80
80
|
end
|
81
81
|
|
82
|
+
# Returns the full list of files tracked by git
|
83
|
+
#
|
84
|
+
# @return [Array<String>]
|
85
|
+
def all_files
|
86
|
+
Overcommit::GitRepo.all_files
|
87
|
+
end
|
88
|
+
|
82
89
|
# Returns the contents of the entire standard input stream that were passed
|
83
90
|
# to the hook.
|
84
91
|
#
|
@@ -15,6 +15,13 @@ module Overcommit::HookContext
|
|
15
15
|
cmd = Overcommit::Utils.parent_command
|
16
16
|
amend_pattern = 'commit(\s.*)?\s--amend(\s|$)'
|
17
17
|
|
18
|
+
# Since the ps command can return invalid byte sequences for commands
|
19
|
+
# containing unicode characters, we replace the offending characters,
|
20
|
+
# since the pattern we're looking for will consist of ASCII characters
|
21
|
+
unless cmd.valid_encoding?
|
22
|
+
cmd.encode!('UTF-16be', invalid: :replace, replace: '?').encode!('UTF-8')
|
23
|
+
end
|
24
|
+
|
18
25
|
return @amendment if
|
19
26
|
# True if the command is a commit with the --amend flag
|
20
27
|
@amendment = !(/\s#{amend_pattern}/ =~ cmd).nil?
|
@@ -7,7 +7,7 @@ module Overcommit::HookContext
|
|
7
7
|
# which is useful for automated CI scripts.
|
8
8
|
class RunAll < Base
|
9
9
|
def modified_files
|
10
|
-
@modified_files ||=
|
10
|
+
@modified_files ||= all_files
|
11
11
|
end
|
12
12
|
|
13
13
|
# Returns all lines in the file since in this context the entire repo is
|
@@ -150,6 +150,9 @@ module Overcommit
|
|
150
150
|
return if should_skip?(hook)
|
151
151
|
|
152
152
|
status, output = hook.run_and_transform
|
153
|
+
rescue Overcommit::Exceptions::MessageProcessingError => ex
|
154
|
+
status = :fail
|
155
|
+
output = ex.message
|
153
156
|
rescue => ex
|
154
157
|
status = :fail
|
155
158
|
output = "Hook raised unexpected error\n#{ex.message}\n#{ex.backtrace.join("\n")}"
|
data/lib/overcommit/version.rb
CHANGED
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.32.0
|
4
|
+
version: 0.32.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: 2016-
|
12
|
+
date: 2016-02-21 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: childprocess
|
@@ -110,6 +110,7 @@ files:
|
|
110
110
|
- lib/overcommit/hook/commit_msg/empty_message.rb
|
111
111
|
- lib/overcommit/hook/commit_msg/gerrit_change_id.rb
|
112
112
|
- lib/overcommit/hook/commit_msg/hard_tabs.rb
|
113
|
+
- lib/overcommit/hook/commit_msg/message_format.rb
|
113
114
|
- lib/overcommit/hook/commit_msg/russian_novel.rb
|
114
115
|
- lib/overcommit/hook/commit_msg/single_line_subject.rb
|
115
116
|
- lib/overcommit/hook/commit_msg/spell_check.rb
|
@@ -154,6 +155,7 @@ files:
|
|
154
155
|
- lib/overcommit/hook/pre_commit/dogma.rb
|
155
156
|
- lib/overcommit/hook/pre_commit/es_lint.rb
|
156
157
|
- lib/overcommit/hook/pre_commit/execute_permissions.rb
|
158
|
+
- lib/overcommit/hook/pre_commit/forbidden_branches.rb
|
157
159
|
- lib/overcommit/hook/pre_commit/go_lint.rb
|
158
160
|
- lib/overcommit/hook/pre_commit/go_vet.rb
|
159
161
|
- lib/overcommit/hook/pre_commit/haml_lint.rb
|
@@ -263,9 +265,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
263
265
|
version: 1.9.3
|
264
266
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
265
267
|
requirements:
|
266
|
-
- - "
|
268
|
+
- - ">="
|
267
269
|
- !ruby/object:Gem::Version
|
268
|
-
version:
|
270
|
+
version: '0'
|
269
271
|
requirements: []
|
270
272
|
rubyforge_project:
|
271
273
|
rubygems_version: 2.4.5.1
|