git-commit-notifier 0.10.1 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -2,3 +2,6 @@ source :rubygems
2
2
 
3
3
  gemspec
4
4
 
5
+ gem "rcov", :group => :test, :platforms => :mri_18
6
+ gem "erubis", "~> 2.7"
7
+
data/README.md CHANGED
@@ -28,17 +28,18 @@ Example email:
28
28
 
29
29
  ## Requirements
30
30
 
31
- * Ruby 1.8.7 or higher
32
- * RubyGems
31
+ * Ruby 1.8.7 or higher.
32
+ * RubyGems.
33
+ * libxml2 and libxslt with headers (see [nokogiri installation notes](http://nokogiri.org/tutorials/installing_nokogiri.html) for details).
33
34
 
34
- We do not support ruby 1.8.6 because of nokogiri gem.
35
+ We do not support ruby 1.8.6 because of nokogiri gem requirements.
35
36
 
36
37
  ## Installing and Configuring
37
38
 
38
39
  Install the gem:
39
40
 
40
41
  ```bash
41
- sudo gem install git-commit-notifier
42
+ gem install git-commit-notifier
42
43
  ```
43
44
 
44
45
  After you installed the gem, you need to configure your git repository. Add a file called
@@ -51,13 +52,13 @@ git-commit-notifier path_to_config.yml
51
52
 
52
53
  (Don't forget to make that file executable.)
53
54
 
54
- An example for the config file can be found in [config/git-notifier-config.yml.sample](http://github.com/bitboxer/git-commit-notifier/blob/master/config/git-notifier-config.yml.sample).
55
+ An example for the config file can be found in [config/git-notifier-config.example.yml](http://github.com/bitboxer/git-commit-notifier/blob/master/config/git-notifier-config.example.yml).
55
56
 
56
57
  If you want to send mails on each commit instead on each push, you should add a file called "post-commit" with this content:
57
58
 
58
59
  ```bash
59
- #!/bin/sh
60
- echo "HEAD^1 HEAD refs/heads/master" | git-commit-notifier path_to_config.yml
60
+ #!/bin/sh
61
+ echo "HEAD^1 HEAD refs/heads/master" | git-commit-notifier path_to_config.yml
61
62
  ```
62
63
 
63
64
  ## Integration with Redmine, Bugzilla, MediaWiki
@@ -117,7 +118,7 @@ The file _previously.txt_ is created at the first commit. If you moved the file
117
118
 
118
119
  ## Credits
119
120
 
120
- Thanks for [Primalgrasp](http://www.primalgrasp.com) and [Undev](http://undev.ru/) for sponsoring this work.
121
+ Thanks for [putpat.tv](http://www.putpat.tv), [Primalgrasp](http://www.primalgrasp.com) and [Undev](http://undev.ru/) for sponsoring this work.
121
122
 
122
123
  ## License
123
124
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.10.1
1
+ 0.10.2
@@ -25,17 +25,16 @@ Gem::Specification.new do |s|
25
25
 
26
26
  s.specification_version = 3
27
27
 
28
- s.add_runtime_dependency(%q<diff-lcs>, [">= 0"])
29
- s.add_runtime_dependency(%q<nntp>, [">= 0"])
30
- s.add_runtime_dependency(%q<premailer>, [">= 1.7.1"])
31
- s.add_runtime_dependency(%q<nokogiri>, [">= 1.4.4"])
32
- s.add_development_dependency(%q<rake>, ["!= 0.9.0"])
33
- s.add_development_dependency(%q<bundler>, [">= 1.0.10"])
28
+ s.add_runtime_dependency(%q<diff-lcs>, ["~> 1.1.2"])
29
+ s.add_runtime_dependency(%q<nntp>, ["~> 1.0"])
30
+ s.add_runtime_dependency(%q<premailer>, ["~> 1.7", "!= 1.7.2"])
31
+ s.add_runtime_dependency(%q<nokogiri>, ["~> 1.4"])
32
+ s.add_development_dependency(%q<rake>, ["~> 0.8", "!= 0.9.0"])
33
+ s.add_development_dependency(%q<bundler>, ["~> 1.0", ">=1.0.10"])
34
34
  s.add_development_dependency(%q<code-cleaner>, [">= 0"])
35
35
  s.add_development_dependency(%q<rspec-core>, [">= 0"])
36
36
  s.add_development_dependency(%q<rspec-expectations>, [">= 0"])
37
- s.add_development_dependency(%q<rr>, [">= 0"])
38
- s.add_development_dependency(%q<faker>, [">= 0"])
39
- s.add_development_dependency(%q<rcov>, [">= 0"])
37
+ s.add_development_dependency(%q<rr>, ["~> 1.0"])
38
+ s.add_development_dependency(%q<faker>, ["~> 0.9.5"])
40
39
  end
41
40
 
@@ -313,17 +313,22 @@ module GitCommitNotifier
313
313
  end
314
314
 
315
315
  def extract_commit_info_from_git_show_output(content)
316
- result = { :message => [], :commit => '', :author => '', :date => '', :email => '' }
316
+ result = { :message => [], :commit => '', :author => '', :date => '', :email => '',
317
+ :committer => '', :commit_date => '', :committer_email => ''}
317
318
  content.split("\n").each do |line|
318
319
  if line =~ /^diff/ # end of commit info, return results
319
320
  return result
320
- elsif line =~ /^commit/
321
+ elsif line =~ /^commit /
321
322
  result[:commit] = line[7..-1]
322
- elsif line =~ /^Author/
323
- result[:author], result[:email] = author_name_and_email(line[8..-1])
324
- elsif line =~ /^Date/
325
- result[:date] = line[8..-1]
326
- elsif line =~ /^Merge/
323
+ elsif line =~ /^Author:/
324
+ result[:author], result[:email] = author_name_and_email(line[12..-1])
325
+ elsif line =~ /^AuthorDate:/
326
+ result[:date] = line[12..-1]
327
+ elsif line =~ /^Commit:/
328
+ result[:committer], result[:commit_email] = author_name_and_email(line[12..-1])
329
+ elsif line =~ /^CommitDate:/
330
+ result[:commit_date] = line[12..-1]
331
+ elsif line =~ /^Merge:/
327
332
  result[:merge] = line[7..-1]
328
333
  else
329
334
  clean_line = line.strip
@@ -457,7 +462,9 @@ module GitCommitNotifier
457
462
 
458
463
  title += "<strong>Branch:</strong> #{CGI.escapeHTML(branch_name)}\n<br />"
459
464
  title += "<strong>Date:</strong> #{CGI.escapeHTML commit_info[:date]}\n<br />"
460
- title += "<strong>Author:</strong> #{CGI.escapeHTML(commit_info[:author])} &lt;#{commit_info[:email]}&gt;\n</div>"
465
+ title += "<strong>Author:</strong> #{CGI.escapeHTML(commit_info[:author])} &lt;#{commit_info[:email]}&gt;\n<br />"
466
+ title += "<strong>Committer:</strong> #{CGI.escapeHTML(commit_info[:committer])} &lt;#{commit_info[:commit_email]}&gt;\n</div>"
467
+
461
468
  text = "#{raw_diff}"
462
469
  text += "#{changed_files}\n\n\n"
463
470
 
@@ -8,12 +8,13 @@ class GitCommitNotifier::Git
8
8
 
9
9
  def show(rev, ignore_whitespace)
10
10
  gitopt = ""
11
+ gitopt += " --pretty=fuller"
11
12
  gitopt += " -w" if ignore_whitespace
12
13
  from_shell("git show #{rev.strip}#{gitopt}")
13
14
  end
14
15
 
15
16
  def log(rev1, rev2)
16
- from_shell("git log #{rev1}..#{rev2}").strip
17
+ from_shell("git log --pretty=fuller #{rev1}..#{rev2}").strip
17
18
  end
18
19
 
19
20
  def changed_files(rev1, rev2)
@@ -14,18 +14,18 @@ describe GitCommitNotifier::Git do
14
14
  describe :show do
15
15
  it "should get data from shell: git show without whitespaces" do
16
16
  expected = 'some data from git show'
17
- mock(GitCommitNotifier::Git).from_shell("git show #{SAMPLE_REV} -w") { expected }
17
+ mock(GitCommitNotifier::Git).from_shell("git show #{SAMPLE_REV} --pretty=fuller -w") { expected }
18
18
  GitCommitNotifier::Git.show(SAMPLE_REV, true).should == expected
19
19
  end
20
20
 
21
21
  it "should get data from shell: git show with whitespaces" do
22
22
  expected = 'some data from git show'
23
- mock(GitCommitNotifier::Git).from_shell("git show #{SAMPLE_REV}") { expected }
23
+ mock(GitCommitNotifier::Git).from_shell("git show #{SAMPLE_REV} --pretty=fuller") { expected }
24
24
  GitCommitNotifier::Git.show(SAMPLE_REV, false).should == expected
25
25
  end
26
26
 
27
27
  it "should strip given revision" do
28
- mock(GitCommitNotifier::Git).from_shell("git show #{SAMPLE_REV} -w")
28
+ mock(GitCommitNotifier::Git).from_shell("git show #{SAMPLE_REV} --pretty=fuller -w")
29
29
  GitCommitNotifier::Git.show("#{SAMPLE_REV}\n", true)
30
30
  end
31
31
  end
@@ -73,7 +73,7 @@ describe GitCommitNotifier::Git do
73
73
 
74
74
  describe :log do
75
75
  it "should run git log with given args" do
76
- mock(GitCommitNotifier::Git).from_shell("git log #{SAMPLE_REV}..#{SAMPLE_REV_2}") { " ok " }
76
+ mock(GitCommitNotifier::Git).from_shell("git log --pretty=fuller #{SAMPLE_REV}..#{SAMPLE_REV_2}") { " ok " }
77
77
  GitCommitNotifier::Git.log(SAMPLE_REV, SAMPLE_REV_2).should == "ok"
78
78
  end
79
79
  end
@@ -1,9 +1,10 @@
1
- <html><meta http-equiv="Content-type" content="text/html; charset=utf-8" /><head>
1
+ <html><head>
2
+ <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
2
3
  <style type="text/css">
3
- <%= stylesheet_string %>
4
+ <%= stylesheet_string %>
4
5
  </style>
5
6
  </head>
6
7
  <body>
7
- <%= @html_message %>
8
+ <%= @html_message %>
8
9
  </body>
9
10
  </html>
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.10.1
4
+ version: 0.10.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,78 +10,87 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-09-06 00:00:00.000000000 +02:00
13
+ date: 2011-09-08 00:00:00.000000000 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: diff-lcs
18
- requirement: &70201197492480 !ruby/object:Gem::Requirement
18
+ requirement: &70327232962420 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
- - - ! '>='
21
+ - - ~>
22
22
  - !ruby/object:Gem::Version
23
- version: '0'
23
+ version: 1.1.2
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *70201197492480
26
+ version_requirements: *70327232962420
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nntp
29
- requirement: &70201197492000 !ruby/object:Gem::Requirement
29
+ requirement: &70327232961940 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
- - - ! '>='
32
+ - - ~>
33
33
  - !ruby/object:Gem::Version
34
- version: '0'
34
+ version: '1.0'
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *70201197492000
37
+ version_requirements: *70327232961940
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: premailer
40
- requirement: &70201197491520 !ruby/object:Gem::Requirement
40
+ requirement: &70327232961440 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
- - - ! '>='
43
+ - - ~>
44
44
  - !ruby/object:Gem::Version
45
- version: 1.7.1
45
+ version: '1.7'
46
+ - - ! '!='
47
+ - !ruby/object:Gem::Version
48
+ version: 1.7.2
46
49
  type: :runtime
47
50
  prerelease: false
48
- version_requirements: *70201197491520
51
+ version_requirements: *70327232961440
49
52
  - !ruby/object:Gem::Dependency
50
53
  name: nokogiri
51
- requirement: &70201193363020 !ruby/object:Gem::Requirement
54
+ requirement: &70327225451960 !ruby/object:Gem::Requirement
52
55
  none: false
53
56
  requirements:
54
- - - ! '>='
57
+ - - ~>
55
58
  - !ruby/object:Gem::Version
56
- version: 1.4.4
59
+ version: '1.4'
57
60
  type: :runtime
58
61
  prerelease: false
59
- version_requirements: *70201193363020
62
+ version_requirements: *70327225451960
60
63
  - !ruby/object:Gem::Dependency
61
64
  name: rake
62
- requirement: &70201193362540 !ruby/object:Gem::Requirement
65
+ requirement: &70327225692660 !ruby/object:Gem::Requirement
63
66
  none: false
64
67
  requirements:
68
+ - - ~>
69
+ - !ruby/object:Gem::Version
70
+ version: '0.8'
65
71
  - - ! '!='
66
72
  - !ruby/object:Gem::Version
67
73
  version: 0.9.0
68
74
  type: :development
69
75
  prerelease: false
70
- version_requirements: *70201193362540
76
+ version_requirements: *70327225692660
71
77
  - !ruby/object:Gem::Dependency
72
78
  name: bundler
73
- requirement: &70201193362060 !ruby/object:Gem::Requirement
79
+ requirement: &70327226404100 !ruby/object:Gem::Requirement
74
80
  none: false
75
81
  requirements:
82
+ - - ~>
83
+ - !ruby/object:Gem::Version
84
+ version: '1.0'
76
85
  - - ! '>='
77
86
  - !ruby/object:Gem::Version
78
87
  version: 1.0.10
79
88
  type: :development
80
89
  prerelease: false
81
- version_requirements: *70201193362060
90
+ version_requirements: *70327226404100
82
91
  - !ruby/object:Gem::Dependency
83
92
  name: code-cleaner
84
- requirement: &70201193361580 !ruby/object:Gem::Requirement
93
+ requirement: &70327226682620 !ruby/object:Gem::Requirement
85
94
  none: false
86
95
  requirements:
87
96
  - - ! '>='
@@ -89,10 +98,10 @@ dependencies:
89
98
  version: '0'
90
99
  type: :development
91
100
  prerelease: false
92
- version_requirements: *70201193361580
101
+ version_requirements: *70327226682620
93
102
  - !ruby/object:Gem::Dependency
94
103
  name: rspec-core
95
- requirement: &70201193361100 !ruby/object:Gem::Requirement
104
+ requirement: &70327226991100 !ruby/object:Gem::Requirement
96
105
  none: false
97
106
  requirements:
98
107
  - - ! '>='
@@ -100,10 +109,10 @@ dependencies:
100
109
  version: '0'
101
110
  type: :development
102
111
  prerelease: false
103
- version_requirements: *70201193361100
112
+ version_requirements: *70327226991100
104
113
  - !ruby/object:Gem::Dependency
105
114
  name: rspec-expectations
106
- requirement: &70201193360620 !ruby/object:Gem::Requirement
115
+ requirement: &70327227187340 !ruby/object:Gem::Requirement
107
116
  none: false
108
117
  requirements:
109
118
  - - ! '>='
@@ -111,40 +120,29 @@ dependencies:
111
120
  version: '0'
112
121
  type: :development
113
122
  prerelease: false
114
- version_requirements: *70201193360620
123
+ version_requirements: *70327227187340
115
124
  - !ruby/object:Gem::Dependency
116
125
  name: rr
117
- requirement: &70201193360140 !ruby/object:Gem::Requirement
126
+ requirement: &70327227206520 !ruby/object:Gem::Requirement
118
127
  none: false
119
128
  requirements:
120
- - - ! '>='
129
+ - - ~>
121
130
  - !ruby/object:Gem::Version
122
- version: '0'
131
+ version: '1.0'
123
132
  type: :development
124
133
  prerelease: false
125
- version_requirements: *70201193360140
134
+ version_requirements: *70327227206520
126
135
  - !ruby/object:Gem::Dependency
127
136
  name: faker
128
- requirement: &70201193359660 !ruby/object:Gem::Requirement
137
+ requirement: &70327229452500 !ruby/object:Gem::Requirement
129
138
  none: false
130
139
  requirements:
131
- - - ! '>='
140
+ - - ~>
132
141
  - !ruby/object:Gem::Version
133
- version: '0'
134
- type: :development
135
- prerelease: false
136
- version_requirements: *70201193359660
137
- - !ruby/object:Gem::Dependency
138
- name: rcov
139
- requirement: &70201193359180 !ruby/object:Gem::Requirement
140
- none: false
141
- requirements:
142
- - - ! '>='
143
- - !ruby/object:Gem::Version
144
- version: '0'
142
+ version: 0.9.5
145
143
  type: :development
146
144
  prerelease: false
147
- version_requirements: *70201193359180
145
+ version_requirements: *70327229452500
148
146
  description: This git commit notifier sends html mails with nice diffs for every changed
149
147
  file.
150
148
  email: bodo@bitboxer.de
@@ -164,7 +162,7 @@ files:
164
162
  - Rakefile
165
163
  - VERSION
166
164
  - bin/git-commit-notifier
167
- - config/git-notifier-config.yml.sample
165
+ - config/git-notifier-config.example.yml
168
166
  - git-commit-notifier.gemspec
169
167
  - lib/git_commit_notifier.rb
170
168
  - lib/git_commit_notifier/commit_hook.rb
@@ -215,7 +213,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
215
213
  version: '0'
216
214
  segments:
217
215
  - 0
218
- hash: -1623397156377293911
216
+ hash: 2795611329410386434
219
217
  required_rubygems_version: !ruby/object:Gem::Requirement
220
218
  none: false
221
219
  requirements: