Commit 6a80083294bdd09f6e6d1d97a9512c434dc4e73d

Authored by Dmitriy Zaporozhets
1 parent 7c6287c8

Use same code for diff and patch inside MergeAction

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
lib/gitlab/satellite/merge_action.rb
... ... @@ -49,14 +49,7 @@ module Gitlab
49 49 in_locked_and_timed_satellite do |merge_repo|
50 50 prepare_satellite!(merge_repo)
51 51 update_satellite_source_and_target!(merge_repo)
52   -
53   - if merge_request.for_fork?
54   - diff = merge_repo.git.native(:diff, default_options, "origin/#{merge_request.target_branch}", "source/#{merge_request.source_branch}")
55   - else
56   - diff = merge_repo.git.native(:diff, default_options, "#{merge_request.target_branch}", "#{merge_request.source_branch}")
57   - end
58   -
59   - return diff
  52 + diff = merge_repo.git.native(:diff, default_options, "origin/#{merge_request.target_branch}", "source/#{merge_request.source_branch}")
60 53 end
61 54 rescue Grit::Git::CommandFailed => ex
62 55 handle_exception(ex)
... ... @@ -88,14 +81,7 @@ module Gitlab
88 81 in_locked_and_timed_satellite do |merge_repo|
89 82 prepare_satellite!(merge_repo)
90 83 update_satellite_source_and_target!(merge_repo)
91   -
92   - if (merge_request.for_fork?)
93   - patch = merge_repo.git.format_patch(default_options({stdout: true}), "origin/#{merge_request.target_branch}..source/#{merge_request.source_branch}")
94   - else
95   - patch = merge_repo.git.format_patch(default_options({stdout: true}), "#{merge_request.target_branch}..#{merge_request.source_branch}")
96   - end
97   -
98   - return patch
  84 + patch = merge_repo.git.format_patch(default_options({stdout: true}), "origin/#{merge_request.target_branch}..source/#{merge_request.source_branch}")
99 85 end
100 86 rescue Grit::Git::CommandFailed => ex
101 87 handle_exception(ex)
... ...
spec/lib/gitlab/satellite/merge_action_spec.rb
... ... @@ -2,13 +2,12 @@ require &#39;spec_helper&#39;
2 2  
3 3 describe 'Gitlab::Satellite::MergeAction' do
4 4 before(:each) do
5   -# TestEnv.init(mailer: false, init_repos: true, repos: true)
6 5 @master = ['master', 'b1e6a9dbf1c85e6616497a5e7bad9143a4bd0828']
7 6 @one_after_stable = ['stable', '6ea87c47f0f8a24ae031c3fff17bc913889ecd00'] #this commit sha is one after stable
8 7 @wiki_branch = ['wiki', '635d3e09b72232b6e92a38de6cc184147e5bcb41'] #this is the commit sha where the wiki branch goes off from master
9 8 @conflicting_metior = ['metior', '313d96e42b313a0af5ab50fa233bf43e27118b3f'] #this branch conflicts with the wiki branch
10 9  
11   - #these commits are quite close together, itended to make string diffs/format patches small
  10 + # these commits are quite close together, itended to make string diffs/format patches small
12 11 @close_commit1 = ['2_3_notes_fix', '8470d70da67355c9c009e4401746b1d5410af2e3']
13 12 @close_commit2 = ['scss_refactoring', 'f0f14c8eaba69ebddd766498a9d0b0e79becd633']
14 13 end
... ... @@ -16,6 +15,7 @@ describe &#39;Gitlab::Satellite::MergeAction&#39; do
16 15 let(:project) { create(:project_with_code) }
17 16 let(:merge_request) { create(:merge_request, source_project: project, target_project: project) }
18 17 let(:merge_request_fork) { create(:merge_request) }
  18 +
19 19 describe '#commits_between' do
20 20 def verify_commits(commits, first_commit_sha, last_commit_sha)
21 21 commits.each { |commit| commit.class.should == Gitlab::Git::Commit }
... ... @@ -145,4 +145,4 @@ describe &#39;Gitlab::Satellite::MergeAction&#39; do
145 145 end
146 146 end
147 147 end
148   -end
149 148 \ No newline at end of file
  149 +end
... ...