diff options
author | Stan Hu <stanhu@gmail.com> | 2015-08-18 16:46:44 +0300 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2015-08-18 16:46:44 +0300 |
commit | 2b127c3fd2be567ddd11460f54ef31525602f553 (patch) | |
tree | acc92ce9598646e3268bd76d96fdb962222e054e | |
parent | cc871c0c74a7babacdc325cfe8080c177cb50d78 (diff) | |
parent | 798f2fe19f4fb90a99d77f3d77011cdba5a73046 (diff) |
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
-rw-r--r-- | CHANGELOG | 3 | ||||
-rw-r--r-- | app/models/repository.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/satellite/merge_action.rb | 1 | ||||
-rw-r--r-- | spec/lib/gitlab/satellite/merge_action_spec.rb | 14 |
4 files changed, 21 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG index 0ed952086d5..0de42ea0cd3 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,7 +2,9 @@ Please view this file on the master branch, on stable branches it's out of date. v 7.14.0 (unreleased) - Update default robots.txt rules to disallow crawling of irrelevant pages (Ben Bodenmiller) + - 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) + - 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) - Fix bug where backslashes in inline diffs could be dropped (Stan Hu) - Disable turbolinks when linking to Bitbucket import status (Stan Hu) @@ -68,7 +70,6 @@ v 7.13.5 v 7.13.4 - Allow users to send abuse reports - - Fix redirection after sign in when using auto_sign_in_with_provider v 7.13.3 - Fix bug causing Bitbucket importer to crash when OAuth application had been removed. diff --git a/app/models/repository.rb b/app/models/repository.rb index 3bba3ca888a..24c32d90051 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -148,6 +148,10 @@ class Repository @lookup_cache ||= {} end + def expire_branch_names + cache.expire(:branch_names) + end + def method_missing(m, *args, &block) if m == :lookup && !block_given? lookup_cache[m] ||= {} diff --git a/lib/gitlab/satellite/merge_action.rb b/lib/gitlab/satellite/merge_action.rb index f9bf286697e..52e8130956c 100644 --- a/lib/gitlab/satellite/merge_action.rb +++ b/lib/gitlab/satellite/merge_action.rb @@ -36,6 +36,7 @@ module Gitlab if merge_request.remove_source_branch? # will raise CommandFailed when push fails merge_repo.git.push(default_options, :origin, ":#{merge_request.source_branch}") + merge_request.source_project.repository.expire_branch_names end # merge, push and branch removal successful true diff --git a/spec/lib/gitlab/satellite/merge_action_spec.rb b/spec/lib/gitlab/satellite/merge_action_spec.rb index 9b1c9a34e29..e977261c726 100644 --- a/spec/lib/gitlab/satellite/merge_action_spec.rb +++ b/spec/lib/gitlab/satellite/merge_action_spec.rb @@ -101,4 +101,18 @@ describe 'Gitlab::Satellite::MergeAction' do 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 |