diff options
| author | Sytse Sijbrandij <sytse@gitlab.com> | 2015-05-07 14:22:39 +0200 | 
|---|---|---|
| committer | Sytse Sijbrandij <sytse@gitlab.com> | 2015-05-07 14:22:39 +0200 | 
| commit | cceb2dd2067e5c779d97d80e5fcdf6a649b0875f (patch) | |
| tree | f63d772f8f4131f298fced95af3933664ea3bece | |
| parent | deddad6025afcbd7279c483f1388149e2fcca2e2 (diff) | |
| parent | 7a23be3ab7c8b3911a35686516ac7fe3f43c81a6 (diff) | |
| download | gitlab-ce-cceb2dd2067e5c779d97d80e5fcdf6a649b0875f.tar.gz | |
Merge branch 'master' of gitlab.com:gitlab-org/gitlab-ce
| -rw-r--r-- | CHANGELOG | 1 | ||||
| -rw-r--r-- | app/services/git_push_service.rb | 4 | ||||
| -rw-r--r-- | spec/services/git_push_service_spec.rb | 15 | 
3 files changed, 19 insertions, 1 deletions
| diff --git a/CHANGELOG b/CHANGELOG index c7fb49dc183..90e9d96e7ce 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@  Please view this file on the master branch, on stable branches it's out of date.  v 7.11.0 (unreleased) +  - Make the first branch pushed to an empty repository the default HEAD (Stan Hu)    - Make Reply-To config apply to change e-mail confirmation and other Devise notifications (Stan Hu)    - Add application setting to restrict user signups to e-mail domains (Stan Hu)    - Don't allow a merge request to be merged when its title starts with "WIP". diff --git a/app/services/git_push_service.rb b/app/services/git_push_service.rb index 1b889e0da8b..bdf36af02fd 100644 --- a/app/services/git_push_service.rb +++ b/app/services/git_push_service.rb @@ -31,6 +31,10 @@ class GitPushService          # Initial push to the default branch. Take the full history of that branch as "newly pushed".          @push_commits = project.repository.commits(newrev) +        # Ensure HEAD points to the default branch in case it is not master +        branch_name = Gitlab::Git.ref_name(ref) +        project.change_head(branch_name) +          # Set protection on the default branch if configured          if (current_application_settings.default_branch_protection != PROTECTION_NONE)            developers_can_push = current_application_settings.default_branch_protection == PROTECTION_DEV_CAN_PUSH ? true : false diff --git a/spec/services/git_push_service_spec.rb b/spec/services/git_push_service_spec.rb index af37e8319a4..e7558f28768 100644 --- a/spec/services/git_push_service_spec.rb +++ b/spec/services/git_push_service_spec.rb @@ -234,5 +234,18 @@ describe GitPushService do        expect(Issue.find(issue.id)).to be_opened      end    end -end +  describe "empty project" do +    let(:project) { create(:project_empty_repo) } +    let(:new_ref) { 'refs/heads/feature'} + +    before do +      allow(project).to receive(:default_branch).and_return('feature') +      expect(project).to receive(:change_head) { 'feature'} +    end + +    it 'push to first branch updates HEAD' do +      service.execute(project, user, @blankrev, @newrev, new_ref) +    end +  end +end | 
