diff --git a/app/graphql/mutations/branches/create.rb b/app/graphql/mutations/branches/create.rb index 6354976f1ea2f9a9529e0f174f8222e8a23633aa..a94d3966258f16e2b5528d9a71a4a963c7a16d6c 100644 --- a/app/graphql/mutations/branches/create.rb +++ b/app/graphql/mutations/branches/create.rb @@ -30,8 +30,6 @@ class Create < BaseMutation def resolve(project_path:, name:, ref:) project = authorized_find!(project_path) - context.scoped_set!(:branch_project, project) - result = ::Branches::CreateService.new(project, current_user) .execute(name, ref) diff --git a/app/graphql/resolvers/branch_commit_resolver.rb b/app/graphql/resolvers/branch_commit_resolver.rb index 11c49e17bc57a5a671bc80a87bf945749fc39901..4f6062a47812f935dadaa1284ab1fc7e02b35d60 100644 --- a/app/graphql/resolvers/branch_commit_resolver.rb +++ b/app/graphql/resolvers/branch_commit_resolver.rb @@ -10,8 +10,9 @@ def resolve(**args) return unless branch commit = branch.dereferenced_target + project = Project.find_by_full_path(commit.repository.gl_project_path) - ::Commit.new(commit, context[:branch_project]) if commit + ::Commit.new(commit, project) if commit end end end diff --git a/changelogs/unreleased/mc-bug-remove-reliance-on-branch-context.yml b/changelogs/unreleased/mc-bug-remove-reliance-on-branch-context.yml new file mode 100644 index 0000000000000000000000000000000000000000..a4631a8394f54d7b31961b1447878c17c057e469 --- /dev/null +++ b/changelogs/unreleased/mc-bug-remove-reliance-on-branch-context.yml @@ -0,0 +1,5 @@ +--- +title: Resolve project from branch in commit resolver. +merge_request: 55694 +author: +type: fixed diff --git a/lib/gitlab/git/commit.rb b/lib/gitlab/git/commit.rb index 35c3dc5b0b3d47ee3266170c894c840c69342815..ff99803d8dec7b0b0f59db186ab8d83bb76ca2c3 100644 --- a/lib/gitlab/git/commit.rb +++ b/lib/gitlab/git/commit.rb @@ -20,6 +20,7 @@ class Commit ].freeze attr_accessor(*SERIALIZE_KEYS) + attr_reader :repository def ==(other) return false unless other.is_a?(Gitlab::Git::Commit) diff --git a/spec/graphql/resolvers/branch_commit_resolver_spec.rb b/spec/graphql/resolvers/branch_commit_resolver_spec.rb index 78d4959c3f96f87fb9dc77c256204b04036e8524..9d085fd19a6d7505053a11424701b8a12a691bc5 100644 --- a/spec/graphql/resolvers/branch_commit_resolver_spec.rb +++ b/spec/graphql/resolvers/branch_commit_resolver_spec.rb @@ -15,6 +15,10 @@ is_expected.to eq(repository.commits('master', limit: 1).last) end + it 'sets project container' do + expect(commit.container).to eq(repository.project) + end + context 'when branch does not exist' do let(:branch) { nil }