overcommit 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
data/lib/overcommit/git_hook.rb
CHANGED
@@ -27,7 +27,7 @@ module Overcommit
|
|
27
27
|
|
28
28
|
# Ignore a check if it only applies to a specific file type and there
|
29
29
|
# are no staged files of that type in the tree
|
30
|
-
next if check_class.
|
30
|
+
next if check_class.filetypes && check.staged.empty?
|
31
31
|
|
32
32
|
reporter.with_status(check) do
|
33
33
|
run_and_filter_check(check)
|
@@ -73,7 +73,8 @@ module Overcommit
|
|
73
73
|
def run_and_filter_check(check)
|
74
74
|
status, output = check.run_check
|
75
75
|
|
76
|
-
output
|
76
|
+
# Some checks output a list of lines. Join those lines together with newlines.
|
77
|
+
output = Array[output].flatten.join("\n")
|
77
78
|
|
78
79
|
unless output.empty?
|
79
80
|
check.staged.each do |staged_file|
|
@@ -13,7 +13,7 @@ module Overcommit
|
|
13
13
|
|
14
14
|
class HookSpecificCheck
|
15
15
|
class << self
|
16
|
-
attr_accessor :
|
16
|
+
attr_accessor :filetypes, :stealth, :required
|
17
17
|
|
18
18
|
def stealth!
|
19
19
|
self.stealth = true
|
@@ -52,7 +52,8 @@ module Overcommit
|
|
52
52
|
|
53
53
|
def staged
|
54
54
|
@staged ||= modified_files.map do |filename|
|
55
|
-
|
55
|
+
filetypes = Array(self.class.filetypes).map { |type| ".#{type}" }
|
56
|
+
if filetypes.empty? || filename.end_with?(*filetypes)
|
56
57
|
StagedFile.new(filename)
|
57
58
|
end
|
58
59
|
end.compact
|
@@ -91,8 +92,11 @@ module Overcommit
|
|
91
92
|
take_while { |line| !line.start_with?('diff --git') }
|
92
93
|
end
|
93
94
|
|
94
|
-
|
95
|
-
|
95
|
+
class << self
|
96
|
+
def file_type(*types)
|
97
|
+
self.filetypes = types
|
98
|
+
end
|
99
|
+
alias file_types file_type
|
96
100
|
end
|
97
101
|
end
|
98
102
|
end
|
data/lib/overcommit/reporter.rb
CHANGED
@@ -33,7 +33,7 @@ module Overcommit
|
|
33
33
|
exit 1
|
34
34
|
when :stop
|
35
35
|
log.warning "*** One or more #{@name} checks needs attention"
|
36
|
-
log.warning
|
36
|
+
log.warning '*** If you really want to commit, use SKIP_CHECKS'
|
37
37
|
log.warning "*** (takes a space-separated list of checks to skip, or 'all')"
|
38
38
|
exit 1
|
39
39
|
end
|
@@ -59,7 +59,8 @@ module Overcommit
|
|
59
59
|
log.error 'FAILED'
|
60
60
|
print_report output
|
61
61
|
when :warn
|
62
|
-
log.warning
|
62
|
+
log.warning 'WARNING'
|
63
|
+
print_report output
|
63
64
|
when :stop
|
64
65
|
log.warning 'UH OH'
|
65
66
|
print_report output
|
@@ -76,8 +77,14 @@ module Overcommit
|
|
76
77
|
return :good
|
77
78
|
end
|
78
79
|
|
79
|
-
|
80
|
-
|
80
|
+
OUTPUT_INDENT = ' ' * 4
|
81
|
+
def print_report(output)
|
82
|
+
unless output.empty?
|
83
|
+
# Take each line of output and add indentation so it nests under check
|
84
|
+
# name (except for the last newline if there is one)
|
85
|
+
output = OUTPUT_INDENT + output.gsub(/\n(?!$)/, "\n#{OUTPUT_INDENT}")
|
86
|
+
log.log output
|
87
|
+
end
|
81
88
|
end
|
82
89
|
end
|
83
90
|
end
|
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.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-07-
|
12
|
+
date: 2013-07-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|