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
Léo-Paul Géneau
gitlab-ce
Commits
2933f3f5
Commit
2933f3f5
authored
Aug 25, 2016
by
Douwe Maan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '21275-getting-500-error-when-viewing-a-merge-request'
parents
98eef887
0d0d46dc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
2 deletions
+34
-2
CHANGELOG
CHANGELOG
+4
-0
app/models/merge_request.rb
app/models/merge_request.rb
+6
-2
lib/gitlab/conflict/file.rb
lib/gitlab/conflict/file.rb
+11
-0
spec/models/merge_request_spec.rb
spec/models/merge_request_spec.rb
+13
-0
No files found.
CHANGELOG
View file @
2933f3f5
...
@@ -23,6 +23,10 @@ v 8.11.3 (unreleased)
...
@@ -23,6 +23,10 @@ v 8.11.3 (unreleased)
- Label list shows all issues (opened or closed) with that label
- Label list shows all issues (opened or closed) with that label
v 8.11.2
v 8.11.2
- Don't show resolve conflicts link before MR status is updated
- Don't prevent viewing the MR when git refs for conflicts can't be found on disk
v 8.11.2 (unreleased)
- Show "Create Merge Request" widget for push events to fork projects on the source project
- Show "Create Merge Request" widget for push events to fork projects on the source project
v 8.11.1
v 8.11.1
...
...
app/models/merge_request.rb
View file @
2933f3f5
...
@@ -798,8 +798,12 @@ class MergeRequest < ActiveRecord::Base
...
@@ -798,8 +798,12 @@ class MergeRequest < ActiveRecord::Base
return
@conflicts_can_be_resolved_in_ui
=
false
unless
has_complete_diff_refs?
return
@conflicts_can_be_resolved_in_ui
=
false
unless
has_complete_diff_refs?
begin
begin
@conflicts_can_be_resolved_in_ui
=
conflicts
.
files
.
each
(
&
:lines
)
# Try to parse each conflict. If the MR's mergeable status hasn't been updated,
rescue
Gitlab
::
Conflict
::
Parser
::
ParserError
,
Gitlab
::
Conflict
::
FileCollection
::
ConflictSideMissing
# ensure that we don't say there are conflicts to resolve when there are no conflict
# files.
conflicts
.
files
.
each
(
&
:lines
)
@conflicts_can_be_resolved_in_ui
=
conflicts
.
files
.
length
>
0
rescue
Rugged
::
OdbError
,
Gitlab
::
Conflict
::
Parser
::
ParserError
,
Gitlab
::
Conflict
::
FileCollection
::
ConflictSideMissing
@conflicts_can_be_resolved_in_ui
=
false
@conflicts_can_be_resolved_in_ui
=
false
end
end
end
end
...
...
lib/gitlab/conflict/file.rb
View file @
2933f3f5
...
@@ -181,6 +181,17 @@ module Gitlab
...
@@ -181,6 +181,17 @@ module Gitlab
sections:
sections
sections:
sections
}
}
end
end
# Don't try to print merge_request or repository.
def
inspect
instance_variables
=
[
:merge_file_result
,
:their_path
,
:our_path
,
:our_mode
].
map
do
|
instance_variable
|
value
=
instance_variable_get
(
"@
#{
instance_variable
}
"
)
"
#{
instance_variable
}
=
\"
#{
value
}
\"
"
end
"#<
#{
self
.
class
}
#{
instance_variables
.
join
(
' '
)
}
>"
end
end
end
end
end
end
end
spec/models/merge_request_spec.rb
View file @
2933f3f5
...
@@ -912,6 +912,19 @@ describe MergeRequest, models: true do
...
@@ -912,6 +912,19 @@ describe MergeRequest, models: true do
expect
(
merge_request
.
conflicts_can_be_resolved_in_ui?
).
to
be_falsey
expect
(
merge_request
.
conflicts_can_be_resolved_in_ui?
).
to
be_falsey
end
end
it
'returns a falsey value when the MR is marked as having conflicts, but has none'
do
merge_request
=
create_merge_request
(
'master'
)
expect
(
merge_request
.
conflicts_can_be_resolved_in_ui?
).
to
be_falsey
end
it
'returns a falsey value when the MR has a missing ref after a force push'
do
merge_request
=
create_merge_request
(
'conflict-resolvable'
)
allow
(
merge_request
.
conflicts
).
to
receive
(
:merge_index
).
and_raise
(
Rugged
::
OdbError
)
expect
(
merge_request
.
conflicts_can_be_resolved_in_ui?
).
to
be_falsey
end
it
'returns a falsey value when the MR does not support new diff notes'
do
it
'returns a falsey value when the MR does not support new diff notes'
do
merge_request
=
create_merge_request
(
'conflict-resolvable'
)
merge_request
=
create_merge_request
(
'conflict-resolvable'
)
merge_request
.
merge_request_diff
.
update_attributes
(
start_commit_sha:
nil
)
merge_request
.
merge_request_diff
.
update_attributes
(
start_commit_sha:
nil
)
...
...
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