From bb7200cb1e6b658184ded4b81dc1729ef6f95ba2 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Sun, 23 Sep 2018 20:13:50 +0100 Subject: [PATCH] Make UserCommitFiles BranchName optional --- internal/service/operations/commit_files.go | 3 --- internal/service/operations/commit_files_test.go | 4 ---- ruby/lib/gitlab/git/operation_service.rb | 16 ++++++++++------ 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/internal/service/operations/commit_files.go b/internal/service/operations/commit_files.go index 310f60a4347..8020d1a1fd3 100644 --- a/internal/service/operations/commit_files.go +++ b/internal/service/operations/commit_files.go @@ -74,8 +74,5 @@ func validateUserCommitFilesHeader(header *pb.UserCommitFilesRequestHeader) erro if len(header.GetCommitMessage()) == 0 { return fmt.Errorf("empty CommitMessage") } - if len(header.GetBranchName()) == 0 { - return fmt.Errorf("empty BranchName") - } return nil } diff --git a/internal/service/operations/commit_files_test.go b/internal/service/operations/commit_files_test.go index c5816e7c0bd..0dbaccc3d5b 100644 --- a/internal/service/operations/commit_files_test.go +++ b/internal/service/operations/commit_files_test.go @@ -276,10 +276,6 @@ func TestFailedUserCommitFilesRequest(t *testing.T) { desc: "empty User", req: headerRequest(testRepo, nil, branchName, commitFilesMessage, nil, nil), }, - { - desc: "empty BranchName", - req: headerRequest(testRepo, user, "", commitFilesMessage, nil, nil), - }, { desc: "empty CommitMessage", req: headerRequest(testRepo, user, branchName, nil, nil, nil), diff --git a/ruby/lib/gitlab/git/operation_service.rb b/ruby/lib/gitlab/git/operation_service.rb index 99ee18166d3..2844e84e3df 100644 --- a/ruby/lib/gitlab/git/operation_service.rb +++ b/ruby/lib/gitlab/git/operation_service.rb @@ -119,13 +119,17 @@ module Gitlab raise Gitlab::Git::CommitError.new('Failed to create commit') end - branch = repository.find_branch(branch_name) - oldrev = find_oldrev_from_branch(newrev, branch) - - ref = Gitlab::Git::BRANCH_REF_PREFIX + branch_name - update_ref_in_hooks(ref, newrev, oldrev) + branch_created = was_empty + if branch_name.present? + branch = repository.find_branch(branch_name) + oldrev = find_oldrev_from_branch(newrev, branch) + branch_created ||= Gitlab::Git.blank_ref?(oldrev) + + ref = Gitlab::Git::BRANCH_REF_PREFIX + branch_name + update_ref_in_hooks(ref, newrev, oldrev) + end - BranchUpdate.new(newrev, was_empty, was_empty || Gitlab::Git.blank_ref?(oldrev)) + BranchUpdate.new(newrev, was_empty, branch_created) end def find_oldrev_from_branch(newrev, branch) -- GitLab