git-commit-notifier 0.12.3 → 0.12.5
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 +7 -0
- data/CHANGES.md +4 -0
- data/Gemfile +3 -3
- data/VERSION +1 -1
- data/lib/git_commit_notifier/commit_hook.rb +12 -11
- data/lib/git_commit_notifier/git.rb +10 -3
- metadata +44 -75
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 5f83e882803b817c7a4f11b44a75a2fd61a98212
|
4
|
+
data.tar.gz: 73ea6dd2b99d5da0e40ff60457496ea1dc1c2417
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 839f27f8d5f2b5062121681b83f71d4f2c973b341c62ea81e353a234882c1f01731bafed52d73e18fe0abcb2296d80195048703b01ccfcaea65e036cce7a5604
|
7
|
+
data.tar.gz: 2932fc34f195548e3b96339206529880f3e960c461b497f8f9f8641c6cfa4d1050c8263144a277d01ac3289d471d076b37f9294f1bbe33a66c2fc8f0f7004d65
|
data/CHANGES.md
CHANGED
data/Gemfile
CHANGED
@@ -6,8 +6,8 @@ gem "rcov", :group => :test, :platforms => :mri_18
|
|
6
6
|
gem "erubis", "~> 2.7"
|
7
7
|
|
8
8
|
gem "ripper", :group => :development, :platforms => :mri_18
|
9
|
-
gem "redcarpet", "~> 3.0", :group => :development, :platforms => :
|
10
|
-
gem "yard-redcarpet-ext", "~> 0.0.3", :group => :development, :platforms => :
|
11
|
-
gem "maruku", :group => :development, :platforms => :jruby
|
9
|
+
gem "redcarpet", "~> 3.0", :group => :development, :platforms => [:mri_19, :mri_20]
|
10
|
+
gem "yard-redcarpet-ext", "~> 0.0.3", :group => :development, :platforms => [:mri_19, :mri_20]
|
11
|
+
gem "maruku", :group => :development, :platforms => [:jruby, :mri_18]
|
12
12
|
|
13
13
|
gem "coveralls", :require => false, :platforms => [:mri_19, :mri_20], :group => :development
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.12.
|
1
|
+
0.12.5
|
@@ -52,6 +52,16 @@ module GitCommitNotifier
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
+
def get_reply_to_address(config, committer_email)
|
56
|
+
reply_to_address = config["from"]
|
57
|
+
if config["reply_to_author"]
|
58
|
+
reply_to_address = committer_email
|
59
|
+
elsif config["reply_to_mailinglist"]
|
60
|
+
reply_to_address = recipient
|
61
|
+
end
|
62
|
+
reply_to_address
|
63
|
+
end
|
64
|
+
|
55
65
|
# Gets list of branches from {config} to include into notifications.
|
56
66
|
# @note All branches will be notified about if returned list is nil; otherwise only specified branches will be notifified about.
|
57
67
|
# @return [Array(String), NilClass] Array of branches to include into notifications or nil.
|
@@ -137,15 +147,6 @@ module GitCommitNotifier
|
|
137
147
|
return
|
138
148
|
end
|
139
149
|
|
140
|
-
reply_to_address = nil
|
141
|
-
if config["reply_to_author"]
|
142
|
-
reply_to_address ||= result[:commit_info][:email]
|
143
|
-
elsif config["reply_to_mailinglist"]
|
144
|
-
reply_to_address ||= recipient
|
145
|
-
else
|
146
|
-
reply_to_address ||= config["from"]
|
147
|
-
end
|
148
|
-
|
149
150
|
# Debug information
|
150
151
|
logger.debug('----')
|
151
152
|
logger.debug("cwd: #{Dir.pwd}")
|
@@ -226,7 +227,7 @@ module GitCommitNotifier
|
|
226
227
|
:recipient => config["send_mail_to_committer"] ? add_committer_to_recipient(recipient, result[:commit_info][:email]) : recipient,
|
227
228
|
:from_address => config["from"] || result[:commit_info][:email],
|
228
229
|
:from_alias => result[:commit_info][:author],
|
229
|
-
:reply_to_address =>
|
230
|
+
:reply_to_address => get_reply_to_address(config, result[:commit_info][:email]),
|
230
231
|
:subject => subject,
|
231
232
|
:commit_date => result[:commit_info][:date],
|
232
233
|
:current_date => Time.new.rfc2822,
|
@@ -277,7 +278,7 @@ module GitCommitNotifier
|
|
277
278
|
:recipient => config["send_mail_to_committer"] ? add_committer_to_recipient(recipient, result[:commit_info][:email]) : recipient,
|
278
279
|
:from_address => config["from"] || result[:commit_info][:email],
|
279
280
|
:from_alias => result[:commit_info][:author],
|
280
|
-
:reply_to_address =>
|
281
|
+
:reply_to_address => get_reply_to_address(config, result[:commit_info][:email]),
|
281
282
|
:subject => subject,
|
282
283
|
:commit_date => result[:commit_info][:date],
|
283
284
|
:current_date => Time.new.rfc2822,
|
@@ -3,14 +3,21 @@
|
|
3
3
|
# Git methods
|
4
4
|
class GitCommitNotifier::Git
|
5
5
|
class << self
|
6
|
+
def to_utf8(str)
|
7
|
+
return str unless str.respond_to?(:force_encoding)
|
8
|
+
str = str.force_encoding(Encoding::UTF_8)
|
9
|
+
return str if str.valid_encoding?
|
10
|
+
str = str.force_encoding(Encoding::BINARY)
|
11
|
+
str.encode("UTF-8", :invalid => :replace, :undef => :replace)
|
12
|
+
end
|
13
|
+
|
6
14
|
# Runs specified command and gets its output.
|
7
15
|
# @return (String) Shell command STDOUT (forced to UTF-8)
|
8
16
|
# @raise [ArgumentError] when command exits with nonzero status.
|
9
17
|
def from_shell(cmd)
|
10
18
|
r = `#{cmd}`
|
11
19
|
raise ArgumentError.new("#{cmd} failed") unless $?.exitstatus.zero?
|
12
|
-
|
13
|
-
r
|
20
|
+
to_utf8(r)
|
14
21
|
end
|
15
22
|
|
16
23
|
# Runs specified command and gets its output as array of lines.
|
@@ -66,7 +73,7 @@ class GitCommitNotifier::Git
|
|
66
73
|
# @param [String] rev2 Second revision
|
67
74
|
def changed_files(rev1, rev2)
|
68
75
|
lines = lines_from_shell("git log #{rev1}..#{rev2} --name-status --pretty=oneline -M#{GitCommitNotifier::CommitHook.config['similarity_detection_threshold'] || "0.5"}")
|
69
|
-
lines = lines.select {|line| line =~ /^\w{1}\s+\w+/} # grep out only filenames
|
76
|
+
lines = lines.select { |line| line =~ /^\w{1}\s+\w+/ } # grep out only filenames
|
70
77
|
lines.uniq
|
71
78
|
end
|
72
79
|
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: git-commit-notifier
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
5
|
-
prerelease:
|
4
|
+
version: 0.12.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bodo Tasche
|
@@ -10,238 +9,212 @@ authors:
|
|
10
9
|
autorequire:
|
11
10
|
bindir: bin
|
12
11
|
cert_chain: []
|
13
|
-
date:
|
12
|
+
date: 2014-01-20 00:00:00.000000000 Z
|
14
13
|
dependencies:
|
15
14
|
- !ruby/object:Gem::Dependency
|
16
15
|
name: diff-lcs
|
17
16
|
requirement: !ruby/object:Gem::Requirement
|
18
|
-
none: false
|
19
17
|
requirements:
|
20
|
-
- - ~>
|
18
|
+
- - "~>"
|
21
19
|
- !ruby/object:Gem::Version
|
22
20
|
version: 1.1.2
|
23
21
|
type: :runtime
|
24
22
|
prerelease: false
|
25
23
|
version_requirements: !ruby/object:Gem::Requirement
|
26
|
-
none: false
|
27
24
|
requirements:
|
28
|
-
- - ~>
|
25
|
+
- - "~>"
|
29
26
|
- !ruby/object:Gem::Version
|
30
27
|
version: 1.1.2
|
31
28
|
- !ruby/object:Gem::Dependency
|
32
29
|
name: nntp
|
33
30
|
requirement: !ruby/object:Gem::Requirement
|
34
|
-
none: false
|
35
31
|
requirements:
|
36
|
-
- - ~>
|
32
|
+
- - "~>"
|
37
33
|
- !ruby/object:Gem::Version
|
38
34
|
version: '1.0'
|
39
35
|
type: :runtime
|
40
36
|
prerelease: false
|
41
37
|
version_requirements: !ruby/object:Gem::Requirement
|
42
|
-
none: false
|
43
38
|
requirements:
|
44
|
-
- - ~>
|
39
|
+
- - "~>"
|
45
40
|
- !ruby/object:Gem::Version
|
46
41
|
version: '1.0'
|
47
42
|
- !ruby/object:Gem::Dependency
|
48
43
|
name: premailer
|
49
44
|
requirement: !ruby/object:Gem::Requirement
|
50
|
-
none: false
|
51
45
|
requirements:
|
52
|
-
- - ~>
|
46
|
+
- - "~>"
|
53
47
|
- !ruby/object:Gem::Version
|
54
48
|
version: '1.7'
|
55
|
-
- -
|
49
|
+
- - ">="
|
56
50
|
- !ruby/object:Gem::Version
|
57
51
|
version: 1.7.1
|
58
|
-
- -
|
52
|
+
- - "!="
|
59
53
|
- !ruby/object:Gem::Version
|
60
54
|
version: 1.7.2
|
61
55
|
type: :runtime
|
62
56
|
prerelease: false
|
63
57
|
version_requirements: !ruby/object:Gem::Requirement
|
64
|
-
none: false
|
65
58
|
requirements:
|
66
|
-
- - ~>
|
59
|
+
- - "~>"
|
67
60
|
- !ruby/object:Gem::Version
|
68
61
|
version: '1.7'
|
69
|
-
- -
|
62
|
+
- - ">="
|
70
63
|
- !ruby/object:Gem::Version
|
71
64
|
version: 1.7.1
|
72
|
-
- -
|
65
|
+
- - "!="
|
73
66
|
- !ruby/object:Gem::Version
|
74
67
|
version: 1.7.2
|
75
68
|
- !ruby/object:Gem::Dependency
|
76
69
|
name: nokogiri
|
77
70
|
requirement: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
71
|
requirements:
|
80
|
-
- - ~>
|
72
|
+
- - "~>"
|
81
73
|
- !ruby/object:Gem::Version
|
82
74
|
version: '1.4'
|
83
|
-
- - <
|
75
|
+
- - "<"
|
84
76
|
- !ruby/object:Gem::Version
|
85
77
|
version: 1.6.0
|
86
78
|
type: :runtime
|
87
79
|
prerelease: false
|
88
80
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
81
|
requirements:
|
91
|
-
- - ~>
|
82
|
+
- - "~>"
|
92
83
|
- !ruby/object:Gem::Version
|
93
84
|
version: '1.4'
|
94
|
-
- - <
|
85
|
+
- - "<"
|
95
86
|
- !ruby/object:Gem::Version
|
96
87
|
version: 1.6.0
|
97
88
|
- !ruby/object:Gem::Dependency
|
98
89
|
name: yajl-ruby
|
99
90
|
requirement: !ruby/object:Gem::Requirement
|
100
|
-
none: false
|
101
91
|
requirements:
|
102
|
-
- - ~>
|
92
|
+
- - "~>"
|
103
93
|
- !ruby/object:Gem::Version
|
104
94
|
version: '1.0'
|
105
95
|
type: :runtime
|
106
96
|
prerelease: false
|
107
97
|
version_requirements: !ruby/object:Gem::Requirement
|
108
|
-
none: false
|
109
98
|
requirements:
|
110
|
-
- - ~>
|
99
|
+
- - "~>"
|
111
100
|
- !ruby/object:Gem::Version
|
112
101
|
version: '1.0'
|
113
102
|
- !ruby/object:Gem::Dependency
|
114
103
|
name: rake
|
115
104
|
requirement: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
105
|
requirements:
|
118
|
-
- - ~>
|
106
|
+
- - "~>"
|
119
107
|
- !ruby/object:Gem::Version
|
120
108
|
version: '0.8'
|
121
|
-
- -
|
109
|
+
- - "!="
|
122
110
|
- !ruby/object:Gem::Version
|
123
111
|
version: 0.9.0
|
124
112
|
type: :development
|
125
113
|
prerelease: false
|
126
114
|
version_requirements: !ruby/object:Gem::Requirement
|
127
|
-
none: false
|
128
115
|
requirements:
|
129
|
-
- - ~>
|
116
|
+
- - "~>"
|
130
117
|
- !ruby/object:Gem::Version
|
131
118
|
version: '0.8'
|
132
|
-
- -
|
119
|
+
- - "!="
|
133
120
|
- !ruby/object:Gem::Version
|
134
121
|
version: 0.9.0
|
135
122
|
- !ruby/object:Gem::Dependency
|
136
123
|
name: bundler
|
137
124
|
requirement: !ruby/object:Gem::Requirement
|
138
|
-
none: false
|
139
125
|
requirements:
|
140
|
-
- - ~>
|
126
|
+
- - "~>"
|
141
127
|
- !ruby/object:Gem::Version
|
142
128
|
version: '1.3'
|
143
129
|
type: :development
|
144
130
|
prerelease: false
|
145
131
|
version_requirements: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
132
|
requirements:
|
148
|
-
- - ~>
|
133
|
+
- - "~>"
|
149
134
|
- !ruby/object:Gem::Version
|
150
135
|
version: '1.3'
|
151
136
|
- !ruby/object:Gem::Dependency
|
152
137
|
name: code-cleaner
|
153
138
|
requirement: !ruby/object:Gem::Requirement
|
154
|
-
none: false
|
155
139
|
requirements:
|
156
|
-
- -
|
140
|
+
- - ">="
|
157
141
|
- !ruby/object:Gem::Version
|
158
142
|
version: '0'
|
159
143
|
type: :development
|
160
144
|
prerelease: false
|
161
145
|
version_requirements: !ruby/object:Gem::Requirement
|
162
|
-
none: false
|
163
146
|
requirements:
|
164
|
-
- -
|
147
|
+
- - ">="
|
165
148
|
- !ruby/object:Gem::Version
|
166
149
|
version: '0'
|
167
150
|
- !ruby/object:Gem::Dependency
|
168
151
|
name: rspec-core
|
169
152
|
requirement: !ruby/object:Gem::Requirement
|
170
|
-
none: false
|
171
153
|
requirements:
|
172
|
-
- -
|
154
|
+
- - ">="
|
173
155
|
- !ruby/object:Gem::Version
|
174
156
|
version: '0'
|
175
157
|
type: :development
|
176
158
|
prerelease: false
|
177
159
|
version_requirements: !ruby/object:Gem::Requirement
|
178
|
-
none: false
|
179
160
|
requirements:
|
180
|
-
- -
|
161
|
+
- - ">="
|
181
162
|
- !ruby/object:Gem::Version
|
182
163
|
version: '0'
|
183
164
|
- !ruby/object:Gem::Dependency
|
184
165
|
name: rspec-expectations
|
185
166
|
requirement: !ruby/object:Gem::Requirement
|
186
|
-
none: false
|
187
167
|
requirements:
|
188
|
-
- -
|
168
|
+
- - ">="
|
189
169
|
- !ruby/object:Gem::Version
|
190
170
|
version: '0'
|
191
171
|
type: :development
|
192
172
|
prerelease: false
|
193
173
|
version_requirements: !ruby/object:Gem::Requirement
|
194
|
-
none: false
|
195
174
|
requirements:
|
196
|
-
- -
|
175
|
+
- - ">="
|
197
176
|
- !ruby/object:Gem::Version
|
198
177
|
version: '0'
|
199
178
|
- !ruby/object:Gem::Dependency
|
200
179
|
name: rr
|
201
180
|
requirement: !ruby/object:Gem::Requirement
|
202
|
-
none: false
|
203
181
|
requirements:
|
204
|
-
- - ~>
|
182
|
+
- - "~>"
|
205
183
|
- !ruby/object:Gem::Version
|
206
184
|
version: '1.0'
|
207
185
|
type: :development
|
208
186
|
prerelease: false
|
209
187
|
version_requirements: !ruby/object:Gem::Requirement
|
210
|
-
none: false
|
211
188
|
requirements:
|
212
|
-
- - ~>
|
189
|
+
- - "~>"
|
213
190
|
- !ruby/object:Gem::Version
|
214
191
|
version: '1.0'
|
215
192
|
- !ruby/object:Gem::Dependency
|
216
193
|
name: faker
|
217
194
|
requirement: !ruby/object:Gem::Requirement
|
218
|
-
none: false
|
219
195
|
requirements:
|
220
|
-
- - ~>
|
196
|
+
- - "~>"
|
221
197
|
- !ruby/object:Gem::Version
|
222
198
|
version: 1.1.2
|
223
199
|
type: :development
|
224
200
|
prerelease: false
|
225
201
|
version_requirements: !ruby/object:Gem::Requirement
|
226
|
-
none: false
|
227
202
|
requirements:
|
228
|
-
- - ~>
|
203
|
+
- - "~>"
|
229
204
|
- !ruby/object:Gem::Version
|
230
205
|
version: 1.1.2
|
231
206
|
- !ruby/object:Gem::Dependency
|
232
207
|
name: yard
|
233
208
|
requirement: !ruby/object:Gem::Requirement
|
234
|
-
none: false
|
235
209
|
requirements:
|
236
|
-
- - ~>
|
210
|
+
- - "~>"
|
237
211
|
- !ruby/object:Gem::Version
|
238
212
|
version: 0.8.1
|
239
213
|
type: :development
|
240
214
|
prerelease: false
|
241
215
|
version_requirements: !ruby/object:Gem::Requirement
|
242
|
-
none: false
|
243
216
|
requirements:
|
244
|
-
- - ~>
|
217
|
+
- - "~>"
|
245
218
|
- !ruby/object:Gem::Version
|
246
219
|
version: 0.8.1
|
247
220
|
description: This git commit notifier sends html mails with nice diffs for every changed
|
@@ -255,10 +228,10 @@ extra_rdoc_files:
|
|
255
228
|
- README.md
|
256
229
|
- CHANGES.md
|
257
230
|
files:
|
258
|
-
- .gitignore
|
259
|
-
- .rspec
|
260
|
-
- .travis.yml
|
261
|
-
- .yardopts
|
231
|
+
- ".gitignore"
|
232
|
+
- ".rspec"
|
233
|
+
- ".travis.yml"
|
234
|
+
- ".yardopts"
|
262
235
|
- CHANGES.md
|
263
236
|
- Gemfile
|
264
237
|
- LICENSE
|
@@ -312,28 +285,24 @@ files:
|
|
312
285
|
- template/styles.css
|
313
286
|
homepage: http://git-commit-notifier.github.com/
|
314
287
|
licenses: []
|
288
|
+
metadata: {}
|
315
289
|
post_install_message:
|
316
290
|
rdoc_options: []
|
317
291
|
require_paths:
|
318
292
|
- lib
|
319
293
|
required_ruby_version: !ruby/object:Gem::Requirement
|
320
|
-
none: false
|
321
294
|
requirements:
|
322
|
-
- -
|
295
|
+
- - ">="
|
323
296
|
- !ruby/object:Gem::Version
|
324
297
|
version: '0'
|
325
|
-
segments:
|
326
|
-
- 0
|
327
|
-
hash: 1331678205794572639
|
328
298
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
329
|
-
none: false
|
330
299
|
requirements:
|
331
|
-
- -
|
300
|
+
- - ">="
|
332
301
|
- !ruby/object:Gem::Version
|
333
302
|
version: '0'
|
334
303
|
requirements: []
|
335
304
|
rubyforge_project:
|
336
|
-
rubygems_version:
|
305
|
+
rubygems_version: 2.2.0
|
337
306
|
signing_key:
|
338
307
|
specification_version: 3
|
339
308
|
summary: Sends git commit messages with diffs
|