Commit 58064027408bcbfb9e6216a3157dffd9c324848d
1 parent
0e82c981
Exists in
master
and in
4 other branches
Raise Error for diff_between/commit_between for non fork mr's in satellite
-Fixed tests to account for this -Trigger update after update_branches for list:update selecting first commit, have it also trigger sha lookup Change-Id: Ie4c3d4fbf57aeadd7d141d3704f4ea0f0684a7a5
Showing
3 changed files
with
8 additions
and
17 deletions
Show diff stats
app/views/projects/merge_requests/update_branches.js.haml
1 | :plain | 1 | :plain |
2 | $(".target_branch").html("#{escape_javascript(options_for_select(@target_branches))}"); | 2 | $(".target_branch").html("#{escape_javascript(options_for_select(@target_branches))}"); |
3 | $(".target_branch").trigger("liszt:updated"); | 3 | $(".target_branch").trigger("liszt:updated"); |
4 | - $(".mr_target_commit").html(""); | ||
5 | \ No newline at end of file | 4 | \ No newline at end of file |
5 | + $(".mr_target_commit").html(""); | ||
6 | + $(".target_branch").trigger("change"); | ||
6 | \ No newline at end of file | 7 | \ No newline at end of file |
lib/gitlab/satellite/merge_action.rb
@@ -74,9 +74,7 @@ module Gitlab | @@ -74,9 +74,7 @@ module Gitlab | ||
74 | #this method doesn't take default options | 74 | #this method doesn't take default options |
75 | diffs = merge_repo.diff(common_commit, "source/#{merge_request.source_branch}") | 75 | diffs = merge_repo.diff(common_commit, "source/#{merge_request.source_branch}") |
76 | else | 76 | else |
77 | - common_commit = merge_repo.git.native(:merge_base, default_options, ["#{merge_request.target_branch}", "#{merge_request.source_branch}"]).strip | ||
78 | - #this method doesn't take default options | ||
79 | - diffs = merge_repo.diff(common_commit, "#{merge_request.source_branch}") | 77 | + raise "Attempt to determine diffs between for a non forked merge request in satellite MergeRequest.id:[#{merge_request.id}]" |
80 | end | 78 | end |
81 | diffs = diffs.map { |diff| Gitlab::Git::Diff.new(diff) } | 79 | diffs = diffs.map { |diff| Gitlab::Git::Diff.new(diff) } |
82 | return diffs | 80 | return diffs |
@@ -109,7 +107,7 @@ module Gitlab | @@ -109,7 +107,7 @@ module Gitlab | ||
109 | if (merge_request.for_fork?) | 107 | if (merge_request.for_fork?) |
110 | commits = merge_repo.commits_between("origin/#{merge_request.target_branch}", "source/#{merge_request.source_branch}") | 108 | commits = merge_repo.commits_between("origin/#{merge_request.target_branch}", "source/#{merge_request.source_branch}") |
111 | else | 109 | else |
112 | - commits = merge_repo.commits_between("#{merge_request.target_branch}", "#{merge_request.source_branch}") | 110 | + raise "Attempt to determine commits between for a non forked merge request in satellite MergeRequest.id:[#{merge_request.id}]" |
113 | end | 111 | end |
114 | commits = commits.map { |commit| Gitlab::Git::Commit.new(commit, nil) } | 112 | commits = commits.map { |commit| Gitlab::Git::Commit.new(commit, nil) } |
115 | return commits | 113 | return commits |
spec/lib/gitlab/satellite/merge_action_spec.rb
@@ -38,16 +38,14 @@ describe 'Gitlab::Satellite::MergeAction' do | @@ -38,16 +38,14 @@ describe 'Gitlab::Satellite::MergeAction' do | ||
38 | end | 38 | end |
39 | 39 | ||
40 | context 'between branches' do | 40 | context 'between branches' do |
41 | - it 'should get proper commits between' do | 41 | + it 'should raise exception -- not expected to be used by non forks' do |
42 | merge_request.target_branch = @one_after_stable[0] | 42 | merge_request.target_branch = @one_after_stable[0] |
43 | merge_request.source_branch = @master[0] | 43 | merge_request.source_branch = @master[0] |
44 | - commits = Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).commits_between | ||
45 | - verify_commits(commits, @one_after_stable[1], @master[1]) | 44 | + expect {Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).commits_between}.to raise_error |
46 | 45 | ||
47 | merge_request.target_branch = @wiki_branch[0] | 46 | merge_request.target_branch = @wiki_branch[0] |
48 | merge_request.source_branch = @master[0] | 47 | merge_request.source_branch = @master[0] |
49 | - commits = Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).commits_between | ||
50 | - verify_commits(commits, @wiki_branch[1], @master[1]) | 48 | + expect {Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).commits_between}.to raise_error |
51 | end | 49 | end |
52 | end | 50 | end |
53 | end | 51 | end |
@@ -104,13 +102,7 @@ describe 'Gitlab::Satellite::MergeAction' do | @@ -104,13 +102,7 @@ describe 'Gitlab::Satellite::MergeAction' do | ||
104 | it 'should get proper diffs' do | 102 | it 'should get proper diffs' do |
105 | merge_request.target_branch = @close_commit1[0] | 103 | merge_request.target_branch = @close_commit1[0] |
106 | merge_request.source_branch = @master[0] | 104 | merge_request.source_branch = @master[0] |
107 | - diffs = Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).diffs_between_satellite | ||
108 | - | ||
109 | - merge_request.target_branch = @close_commit1[0] | ||
110 | - merge_request.source_branch = @master[0] | ||
111 | - diff = Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).diff_in_satellite | ||
112 | - | ||
113 | - is_a_matching_diff(diff, diffs) | 105 | + expect{Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request).diffs_between_satellite}.to raise_error |
114 | end | 106 | end |
115 | end | 107 | end |
116 | end | 108 | end |