Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Privacy
Imprint
Contact
Login methods
Sign in
Toggle navigation
Menu
Open sidebar
projects.thm.de
GitLab FOSS
Commits
49d63dc1
Unverified
Commit
49d63dc1
authored
Aug 15, 2016
by
Dmitriy Zaporozhets
Browse files
Fix and refactor merge request diff_refs method
Signed-off-by:
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
parent
643a368f
Changes
4
Hide whitespace changes
Inline
Side-by-side
app/models/diff_note.rb
View file @
49d63dc1
...
...
@@ -79,11 +79,7 @@ def supported?
end
def
noteable_diff_refs
if
noteable
.
respond_to?
(
:diff_sha_refs
)
noteable
.
diff_sha_refs
else
noteable
.
diff_refs
end
noteable
.
diff_refs
end
def
set_original_position
...
...
app/models/merge_request.rb
View file @
49d63dc1
...
...
@@ -270,7 +270,7 @@ def branch_merge_base_sha
end
def
diff_refs
if
persisted
?
if
merge_request_diff
&&
merge_request_diff
.
diff_refs_by_sha
?
merge_request_diff
.
diff_refs
else
start_sha
=
target_branch_sha
...
...
@@ -287,19 +287,6 @@ def diff_refs
end
end
# Return diff_refs instance trying to not touch the git repository
def
diff_sha_refs
if
merge_request_diff
&&
merge_request_diff
.
diff_refs_by_sha?
return
Gitlab
::
Diff
::
DiffRefs
.
new
(
base_sha:
merge_request_diff
.
base_commit_sha
,
start_sha:
merge_request_diff
.
start_commit_sha
,
head_sha:
merge_request_diff
.
head_commit_sha
)
else
diff_refs
end
end
def
validate_branches
if
target_project
==
source_project
&&
target_branch
==
source_branch
errors
.
add
:branch_conflict
,
"You can not use same project/branch for source and target"
...
...
@@ -716,7 +703,7 @@ def can_be_cherry_picked?
end
def
support_new_diff_notes?
diff_
sha_
refs
&&
diff_
sha_
refs
.
complete?
diff_refs
&&
diff_refs
.
complete?
end
def
update_diff_notes_positions
(
old_diff_refs
:,
new_diff_refs
:)
...
...
app/models/merge_request_diff.rb
View file @
49d63dc1
...
...
@@ -128,7 +128,7 @@ def head_commit
end
def
diff_refs
return
unless
start_commit
||
base_commit
return
unless
start_commit
_sha
||
base_commit
_sha
Gitlab
::
Diff
::
DiffRefs
.
new
(
base_sha:
base_commit_sha
,
...
...
spec/models/merge_request_spec.rb
View file @
49d63dc1
...
...
@@ -723,7 +723,6 @@
end
end
<<<<<<<
HEAD
describe
'#branch_merge_base_commit'
do
context
'source and target branch exist'
do
it
{
expect
(
subject
.
branch_merge_base_commit
.
sha
).
to
eq
(
'ae73cb07c9eeaf35924a10f713b364d32b2dd34f'
)
}
...
...
@@ -737,8 +736,11 @@
it
'returns nil'
do
expect
(
subject
.
branch_merge_base_commit
).
to
be_nil
=======
describe
"#diff_sha_refs"
do
end
end
end
describe
"#diff_refs"
do
context
"with diffs"
do
subject
{
create
(
:merge_request
,
:with_diffs
)
}
...
...
@@ -747,7 +749,7 @@
expect_any_instance_of
(
Repository
).
not_to
receive
(
:commit
)
subject
.
diff_
sha_
refs
subject
.
diff_refs
end
it
"returns expected diff_refs"
do
...
...
@@ -757,8 +759,7 @@
head_sha:
subject
.
merge_request_diff
.
head_commit_sha
)
expect
(
subject
.
diff_sha_refs
).
to
eq
(
expected_diff_refs
)
>>>>>>>
master
expect
(
subject
.
diff_refs
).
to
eq
(
expected_diff_refs
)
end
end
end
...
...
Write
Preview
Supports
Markdown
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