Commit 58064027408bcbfb9e6216a3157dffd9c324848d

Authored by Izaak Alpert
1 parent 0e82c981

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
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