Merge branch 'mr-source-branch-clear-cache' into 'master'
Clear cache to prevent listing deleted branches after MR removes source branch Closes #2272 See merge request !1160
This commit is contained in:
commit
798f2fe19f
4 changed files with 20 additions and 0 deletions
|
@ -3,6 +3,7 @@ Please view this file on the master branch, on stable branches it's out of date.
|
||||||
v 7.14.0 (unreleased)
|
v 7.14.0 (unreleased)
|
||||||
- Fix redirection after sign in when using auto_sign_in_with_provider
|
- Fix redirection after sign in when using auto_sign_in_with_provider
|
||||||
- Upgrade gitlab_git to 7.2.14 to ignore CRLFs in .gitmodules (Stan Hu)
|
- Upgrade gitlab_git to 7.2.14 to ignore CRLFs in .gitmodules (Stan Hu)
|
||||||
|
- Clear cache to prevent listing deleted branches after MR removes source branch (Stan Hu)
|
||||||
- Provide more feedback what went wrong if HipChat service failed test (Stan Hu)
|
- Provide more feedback what went wrong if HipChat service failed test (Stan Hu)
|
||||||
- Fix bug where backslashes in inline diffs could be dropped (Stan Hu)
|
- Fix bug where backslashes in inline diffs could be dropped (Stan Hu)
|
||||||
- Disable turbolinks when linking to Bitbucket import status (Stan Hu)
|
- Disable turbolinks when linking to Bitbucket import status (Stan Hu)
|
||||||
|
|
|
@ -148,6 +148,10 @@ class Repository
|
||||||
@lookup_cache ||= {}
|
@lookup_cache ||= {}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def expire_branch_names
|
||||||
|
cache.expire(:branch_names)
|
||||||
|
end
|
||||||
|
|
||||||
def method_missing(m, *args, &block)
|
def method_missing(m, *args, &block)
|
||||||
if m == :lookup && !block_given?
|
if m == :lookup && !block_given?
|
||||||
lookup_cache[m] ||= {}
|
lookup_cache[m] ||= {}
|
||||||
|
|
|
@ -36,6 +36,7 @@ module Gitlab
|
||||||
if merge_request.remove_source_branch?
|
if merge_request.remove_source_branch?
|
||||||
# will raise CommandFailed when push fails
|
# will raise CommandFailed when push fails
|
||||||
merge_repo.git.push(default_options, :origin, ":#{merge_request.source_branch}")
|
merge_repo.git.push(default_options, :origin, ":#{merge_request.source_branch}")
|
||||||
|
merge_request.source_project.repository.expire_branch_names
|
||||||
end
|
end
|
||||||
# merge, push and branch removal successful
|
# merge, push and branch removal successful
|
||||||
true
|
true
|
||||||
|
|
|
@ -101,4 +101,18 @@ describe 'Gitlab::Satellite::MergeAction' do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe '#merge!' do
|
||||||
|
let(:merge_request) { create(:merge_request, source_project: project, target_project: project, source_branch: "markdown", should_remove_source_branch: true) }
|
||||||
|
let(:merge_action) { Gitlab::Satellite::MergeAction.new(merge_request.author, merge_request) }
|
||||||
|
|
||||||
|
it 'clears cache of source repo after removing source branch' do
|
||||||
|
project.repository.expire_branch_names
|
||||||
|
expect(project.repository.branch_names).to include('markdown')
|
||||||
|
|
||||||
|
merge_action.merge!
|
||||||
|
|
||||||
|
expect(project.repository.branch_names).not_to include('markdown')
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue