git-commit-notifier 0.11.3 → 0.11.4
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.
- data/VERSION +1 -1
- data/lib/git_commit_notifier/commit_hook.rb +5 -20
- data/lib/git_commit_notifier/diff_to_html.rb +19 -8
- data/lib/git_commit_notifier/emailer.rb +4 -6
- metadata +106 -29
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.11.
|
1
|
+
0.11.4
|
@@ -143,12 +143,6 @@ module GitCommitNotifier
|
|
143
143
|
diffresult = diff2html.result
|
144
144
|
diff2html.clear_result
|
145
145
|
|
146
|
-
if config["ignore_merge"]
|
147
|
-
diffresult.reject! do |result|
|
148
|
-
merge_commit?(result)
|
149
|
-
end
|
150
|
-
end
|
151
|
-
|
152
146
|
text, html = [], []
|
153
147
|
result = diffresult.first
|
154
148
|
return if result.nil? || !result[:commit_info]
|
@@ -187,19 +181,17 @@ module GitCommitNotifier
|
|
187
181
|
emailer.send
|
188
182
|
else
|
189
183
|
commit_number = 1
|
190
|
-
diff2html.diff_between_revisions(rev1, rev2, prefix, ref_name) do |result|
|
191
|
-
next if config["ignore_merge"] && merge_commit?(result)
|
192
|
-
|
184
|
+
diff2html.diff_between_revisions(rev1, rev2, prefix, ref_name) do |count, result|
|
193
185
|
# Form the subject from template
|
194
186
|
revised_subject_words = subject_words.merge({
|
195
187
|
:commit_id => result[:commit_info][:commit],
|
196
188
|
:message => result[:commit_info][:message],
|
197
189
|
:commit_number => commit_number,
|
198
|
-
:commit_count =>
|
199
|
-
:commit_count_phrase => "1 commit",
|
200
|
-
:commit_count_phrase2 => ""
|
190
|
+
:commit_count => count,
|
191
|
+
:commit_count_phrase => count == 1 ? "1 commit" : "#{count} commits",
|
192
|
+
:commit_count_phrase2 => count == 1 ? "" : "#{count} commits: "
|
201
193
|
})
|
202
|
-
subject_template = config['subject'] || "[${prefix}${slash_branch_name}][${commit_number}] ${message}"
|
194
|
+
subject_template = config['subject'] || "[${prefix}${slash_branch_name}][${commit_number}/${commit_count}] ${message}"
|
203
195
|
subject = subject_template.gsub(/\$\{(\w+)\}/) { |m| revised_subject_words[$1.intern] }
|
204
196
|
|
205
197
|
emailer = Emailer.new(config,
|
@@ -222,13 +214,6 @@ module GitCommitNotifier
|
|
222
214
|
end
|
223
215
|
nil
|
224
216
|
end
|
225
|
-
|
226
|
-
# Gets human readable commit number.
|
227
|
-
# @param [Fixnum] i Commit index.
|
228
|
-
# @return [String] Human readable commit number.
|
229
|
-
def number(i)
|
230
|
-
"[#{i + 1}]"
|
231
|
-
end
|
232
217
|
end
|
233
218
|
end
|
234
219
|
end
|
@@ -73,14 +73,20 @@ module GitCommitNotifier
|
|
73
73
|
end
|
74
74
|
|
75
75
|
# Gets lines_per_diff setting from {#config}.
|
76
|
+
# @return [Fixnum, NilClass] Lines per diff limit.
|
76
77
|
def lines_per_diff
|
77
|
-
|
78
|
+
config['lines_per_diff']
|
79
|
+
end
|
80
|
+
|
81
|
+
# Gets ignore_merge setting from {#config}.
|
82
|
+
def ignore_merge?
|
83
|
+
config['ignore_merge']
|
78
84
|
end
|
79
85
|
|
80
86
|
# Gets ignore_whitespace setting from {#config}.
|
81
87
|
# @return [Boolean] true if whitespaces should be ignored in diff; otherwise false.
|
82
88
|
def ignore_whitespaces?
|
83
|
-
|
89
|
+
config['ignore_whitespace'].nil? || config['ignore_whitespace']
|
84
90
|
end
|
85
91
|
|
86
92
|
# Adds separator between diff blocks to @diff_result.
|
@@ -422,10 +428,10 @@ module GitCommitNotifier
|
|
422
428
|
end
|
423
429
|
|
424
430
|
def truncate_long_lines(text)
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
431
|
+
str = ""
|
432
|
+
# Match encoding of output string to that of input string
|
433
|
+
str.force_encoding(text.encoding) if str.respond_to?(:force_encoding)
|
434
|
+
StringIO.open(str, "w") do |output|
|
429
435
|
input = StringIO.new(text, "r")
|
430
436
|
input.each_line "\n" do |line|
|
431
437
|
if line.length > MAX_LINE_LENGTH && MAX_LINE_LENGTH >= 9
|
@@ -436,7 +442,7 @@ module GitCommitNotifier
|
|
436
442
|
# characters, so deal specially with that case
|
437
443
|
# so that we don't truncate in the middle of a UTF8 sequence,
|
438
444
|
# which would be invalid.
|
439
|
-
|
445
|
+
unless line.respond_to?(:force_encoding)
|
440
446
|
# If the last remaining character is part of a UTF8 multibyte character,
|
441
447
|
# keep truncating until we go past the start of a UTF8 character.
|
442
448
|
# This assumes that this is a UTF8 string, which may be a false assumption
|
@@ -697,8 +703,13 @@ module GitCommitNotifier
|
|
697
703
|
puts "Unknown change type #{ref_name},#{@rev_type}"
|
698
704
|
end
|
699
705
|
|
706
|
+
# Remove merge commits if required
|
707
|
+
if ignore_merge?
|
708
|
+
@result.reject! { |commit| merge_commit?(commit[:commit_info]) }
|
709
|
+
end
|
710
|
+
|
700
711
|
# If a block was given, pass it the results, in turn
|
701
|
-
@result.each { |
|
712
|
+
@result.each { |commit| yield @result.size, commit } if block_given?
|
702
713
|
end
|
703
714
|
|
704
715
|
def message_replace!(message, search_for, replace_with)
|
@@ -242,10 +242,10 @@ class GitCommitNotifier::Emailer
|
|
242
242
|
# can result in the MTA breaking lines at inconvenient points,
|
243
243
|
# such as in the middle of UTF8 characters.
|
244
244
|
def encode_quoted_printable_message(text)
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
245
|
+
str = ''
|
246
|
+
# Character encoding of output string can be plain US-ASCII since quoted-printable is plain ASCII
|
247
|
+
str.force_encoding("US-ASCII") if str.respond_to?(:force_encoding)
|
248
|
+
StringIO.open(str, "w") do |output|
|
249
249
|
line_max = 76
|
250
250
|
line_len = 0
|
251
251
|
|
@@ -304,5 +304,3 @@ class GitCommitNotifier::Emailer
|
|
304
304
|
end
|
305
305
|
end
|
306
306
|
|
307
|
-
|
308
|
-
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-commit-notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-04-
|
13
|
+
date: 2012-04-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: diff-lcs
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ~>
|
@@ -22,10 +22,15 @@ dependencies:
|
|
22
22
|
version: 1.1.2
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ~>
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: 1.1.2
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: nntp
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ~>
|
@@ -33,10 +38,15 @@ dependencies:
|
|
33
38
|
version: '1.0'
|
34
39
|
type: :runtime
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ~>
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '1.0'
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: premailer
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ~>
|
@@ -50,10 +60,21 @@ dependencies:
|
|
50
60
|
version: 1.7.2
|
51
61
|
type: :runtime
|
52
62
|
prerelease: false
|
53
|
-
version_requirements:
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.7'
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 1.7.1
|
72
|
+
- - ! '!='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 1.7.2
|
54
75
|
- !ruby/object:Gem::Dependency
|
55
76
|
name: nokogiri
|
56
|
-
requirement:
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
57
78
|
none: false
|
58
79
|
requirements:
|
59
80
|
- - ~>
|
@@ -61,10 +82,15 @@ dependencies:
|
|
61
82
|
version: '1.4'
|
62
83
|
type: :runtime
|
63
84
|
prerelease: false
|
64
|
-
version_requirements:
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
none: false
|
87
|
+
requirements:
|
88
|
+
- - ~>
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '1.4'
|
65
91
|
- !ruby/object:Gem::Dependency
|
66
92
|
name: rake
|
67
|
-
requirement:
|
93
|
+
requirement: !ruby/object:Gem::Requirement
|
68
94
|
none: false
|
69
95
|
requirements:
|
70
96
|
- - ~>
|
@@ -75,10 +101,18 @@ dependencies:
|
|
75
101
|
version: 0.9.0
|
76
102
|
type: :development
|
77
103
|
prerelease: false
|
78
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0.8'
|
110
|
+
- - ! '!='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 0.9.0
|
79
113
|
- !ruby/object:Gem::Dependency
|
80
114
|
name: bundler
|
81
|
-
requirement:
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
82
116
|
none: false
|
83
117
|
requirements:
|
84
118
|
- - ~>
|
@@ -89,10 +123,18 @@ dependencies:
|
|
89
123
|
version: 1.0.10
|
90
124
|
type: :development
|
91
125
|
prerelease: false
|
92
|
-
version_requirements:
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
|
+
none: false
|
128
|
+
requirements:
|
129
|
+
- - ~>
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '1.0'
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 1.0.10
|
93
135
|
- !ruby/object:Gem::Dependency
|
94
136
|
name: code-cleaner
|
95
|
-
requirement:
|
137
|
+
requirement: !ruby/object:Gem::Requirement
|
96
138
|
none: false
|
97
139
|
requirements:
|
98
140
|
- - ! '>='
|
@@ -100,10 +142,15 @@ dependencies:
|
|
100
142
|
version: '0'
|
101
143
|
type: :development
|
102
144
|
prerelease: false
|
103
|
-
version_requirements:
|
145
|
+
version_requirements: !ruby/object:Gem::Requirement
|
146
|
+
none: false
|
147
|
+
requirements:
|
148
|
+
- - ! '>='
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
104
151
|
- !ruby/object:Gem::Dependency
|
105
152
|
name: rspec-core
|
106
|
-
requirement:
|
153
|
+
requirement: !ruby/object:Gem::Requirement
|
107
154
|
none: false
|
108
155
|
requirements:
|
109
156
|
- - ! '>='
|
@@ -111,10 +158,15 @@ dependencies:
|
|
111
158
|
version: '0'
|
112
159
|
type: :development
|
113
160
|
prerelease: false
|
114
|
-
version_requirements:
|
161
|
+
version_requirements: !ruby/object:Gem::Requirement
|
162
|
+
none: false
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
115
167
|
- !ruby/object:Gem::Dependency
|
116
168
|
name: rspec-expectations
|
117
|
-
requirement:
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
118
170
|
none: false
|
119
171
|
requirements:
|
120
172
|
- - ! '>='
|
@@ -122,10 +174,15 @@ dependencies:
|
|
122
174
|
version: '0'
|
123
175
|
type: :development
|
124
176
|
prerelease: false
|
125
|
-
version_requirements:
|
177
|
+
version_requirements: !ruby/object:Gem::Requirement
|
178
|
+
none: false
|
179
|
+
requirements:
|
180
|
+
- - ! '>='
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
126
183
|
- !ruby/object:Gem::Dependency
|
127
184
|
name: rr
|
128
|
-
requirement:
|
185
|
+
requirement: !ruby/object:Gem::Requirement
|
129
186
|
none: false
|
130
187
|
requirements:
|
131
188
|
- - ~>
|
@@ -133,10 +190,15 @@ dependencies:
|
|
133
190
|
version: '1.0'
|
134
191
|
type: :development
|
135
192
|
prerelease: false
|
136
|
-
version_requirements:
|
193
|
+
version_requirements: !ruby/object:Gem::Requirement
|
194
|
+
none: false
|
195
|
+
requirements:
|
196
|
+
- - ~>
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '1.0'
|
137
199
|
- !ruby/object:Gem::Dependency
|
138
200
|
name: faker
|
139
|
-
requirement:
|
201
|
+
requirement: !ruby/object:Gem::Requirement
|
140
202
|
none: false
|
141
203
|
requirements:
|
142
204
|
- - ~>
|
@@ -144,10 +206,15 @@ dependencies:
|
|
144
206
|
version: 0.9.5
|
145
207
|
type: :development
|
146
208
|
prerelease: false
|
147
|
-
version_requirements:
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
210
|
+
none: false
|
211
|
+
requirements:
|
212
|
+
- - ~>
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: 0.9.5
|
148
215
|
- !ruby/object:Gem::Dependency
|
149
216
|
name: yard
|
150
|
-
requirement:
|
217
|
+
requirement: !ruby/object:Gem::Requirement
|
151
218
|
none: false
|
152
219
|
requirements:
|
153
220
|
- - ~>
|
@@ -155,10 +222,15 @@ dependencies:
|
|
155
222
|
version: 0.7.5
|
156
223
|
type: :development
|
157
224
|
prerelease: false
|
158
|
-
version_requirements:
|
225
|
+
version_requirements: !ruby/object:Gem::Requirement
|
226
|
+
none: false
|
227
|
+
requirements:
|
228
|
+
- - ~>
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: 0.7.5
|
159
231
|
- !ruby/object:Gem::Dependency
|
160
232
|
name: redcarpet
|
161
|
-
requirement:
|
233
|
+
requirement: !ruby/object:Gem::Requirement
|
162
234
|
none: false
|
163
235
|
requirements:
|
164
236
|
- - ~>
|
@@ -166,7 +238,12 @@ dependencies:
|
|
166
238
|
version: 1.17.2
|
167
239
|
type: :development
|
168
240
|
prerelease: false
|
169
|
-
version_requirements:
|
241
|
+
version_requirements: !ruby/object:Gem::Requirement
|
242
|
+
none: false
|
243
|
+
requirements:
|
244
|
+
- - ~>
|
245
|
+
- !ruby/object:Gem::Version
|
246
|
+
version: 1.17.2
|
170
247
|
description: This git commit notifier sends html mails with nice diffs for every changed
|
171
248
|
file.
|
172
249
|
email: bodo@bitboxer.de
|
@@ -243,7 +320,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
243
320
|
version: '0'
|
244
321
|
requirements: []
|
245
322
|
rubyforge_project:
|
246
|
-
rubygems_version: 1.8.
|
323
|
+
rubygems_version: 1.8.23
|
247
324
|
signing_key:
|
248
325
|
specification_version: 3
|
249
326
|
summary: Sends git commit messages with diffs
|