Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
Commits
9cb2a4ac
Commit
9cb2a4ac
authored
Apr 10, 2014
by
Jonathan A. Sternberg
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix emails on push service when a single commit is pushed
This fixes issue #161.
parent
415c0f4b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
39 additions
and
2 deletions
+39
-2
CHANGELOG
CHANGELOG
+1
-0
app/mailers/emails/projects.rb
app/mailers/emails/projects.rb
+1
-1
spec/mailers/notify_spec.rb
spec/mailers/notify_spec.rb
+37
-1
No files found.
CHANGELOG
View file @
9cb2a4ac
...
@@ -15,6 +15,7 @@ v 6.8.0
...
@@ -15,6 +15,7 @@ v 6.8.0
- Option to disable standard login
- Option to disable standard login
- Clean old created archives from repository downloads directory
- Clean old created archives from repository downloads directory
- Fix download link for huge MR diffs
- Fix download link for huge MR diffs
- Fix emails on push service when only one commit is pushed
v 6.7.3
v 6.7.3
- Fix the merge notification email not being sent (Pierre de La Morinerie)
- Fix the merge notification email not being sent (Pierre de La Morinerie)
...
...
app/mailers/emails/projects.rb
View file @
9cb2a4ac
...
@@ -26,7 +26,7 @@ module Emails
...
@@ -26,7 +26,7 @@ module Emails
if
@commits
.
length
>
1
if
@commits
.
length
>
1
@target_url
=
project_compare_url
(
@project
,
from:
@commits
.
first
,
to:
@commits
.
last
)
@target_url
=
project_compare_url
(
@project
,
from:
@commits
.
first
,
to:
@commits
.
last
)
else
else
@target_url
=
project_commit_url
(
@project
,
@com
pare
.
commi
t
)
@target_url
=
project_commit_url
(
@project
,
@com
mits
.
firs
t
)
end
end
mail
(
from:
sender
(
author_id
),
mail
(
from:
sender
(
author_id
),
...
...
spec/mailers/notify_spec.rb
View file @
9cb2a4ac
...
@@ -502,7 +502,7 @@ describe Notify do
...
@@ -502,7 +502,7 @@ describe Notify do
end
end
end
end
describe
'email on push'
do
describe
'email on push
with multiple commits
'
do
let
(
:example_site_path
)
{
root_path
}
let
(
:example_site_path
)
{
root_path
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:compare
)
{
Gitlab
::
Git
::
Compare
.
new
(
project
.
repository
.
raw_repository
,
'cd5c4bac'
,
'b1e6a9db'
)
}
let
(
:compare
)
{
Gitlab
::
Git
::
Compare
.
new
(
project
.
repository
.
raw_repository
,
'cd5c4bac'
,
'b1e6a9db'
)
}
...
@@ -537,4 +537,40 @@ describe Notify do
...
@@ -537,4 +537,40 @@ describe Notify do
should
have_body_text
/
#{
diff_path
}
/
should
have_body_text
/
#{
diff_path
}
/
end
end
end
end
describe
'email on push with a single commit'
do
let
(
:example_site_path
)
{
root_path
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:compare
)
{
Gitlab
::
Git
::
Compare
.
new
(
project
.
repository
.
raw_repository
,
'8716fc78'
,
'b1e6a9db'
)
}
let
(
:commits
)
{
Commit
.
decorate
(
compare
.
commits
)
}
let
(
:diff_path
)
{
project_commit_path
(
project
,
commits
.
first
)
}
subject
{
Notify
.
repository_push_email
(
project
.
id
,
'devs@company.name'
,
user
.
id
,
'master'
,
compare
)
}
it
'is sent as the author'
do
sender
=
subject
.
header
[
:from
].
addrs
[
0
]
sender
.
display_name
.
should
eq
(
user
.
name
)
sender
.
address
.
should
eq
(
gitlab_sender
)
end
it
'is sent to recipient'
do
should
deliver_to
'devs@company.name'
end
it
'has the correct subject'
do
should
have_subject
/New push to repository/
end
it
'includes commits list'
do
should
have_body_text
/tree css fixes/
end
it
'includes diffs'
do
should
have_body_text
/Checkout wiki pages for installation information/
end
it
'contains a link to the diff'
do
should
have_body_text
/
#{
diff_path
}
/
end
end
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment