diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2018-03-22 21:09:19 +0000 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2018-03-22 21:09:19 +0000 |
commit | be0ce05c5d07b0b27be243f0a3d57b662dcab1af (patch) | |
tree | dac685901f8daf70e59f233282e023627afd3d84 | |
parent | 5c36e1b96a7c159a3f8a71528b14cc1c726a8bb9 (diff) | |
parent | 04b8e00feb6a06bfef3903a9e03d24296c4734a6 (diff) | |
download | gitlab-ce-be0ce05c5d07b0b27be243f0a3d57b662dcab1af.tar.gz |
Merge branch 'ci-pipeline-commit-lookup' into 'master'
Use porcelain commit lookup method on CI::CreatePipelineService
Closes charts/helm.gitlab.io#291
See merge request gitlab-org/gitlab-ce!17911
-rw-r--r-- | app/services/ci/create_pipeline_service.rb | 2 | ||||
-rw-r--r-- | changelogs/unreleased/ci-pipeline-commit-lookup.yml | 5 | ||||
-rw-r--r-- | lib/gitlab/git/repository.rb | 8 |
3 files changed, 10 insertions, 5 deletions
diff --git a/app/services/ci/create_pipeline_service.rb b/app/services/ci/create_pipeline_service.rb index 3b3d9239086..ad27f320853 100644 --- a/app/services/ci/create_pipeline_service.rb +++ b/app/services/ci/create_pipeline_service.rb @@ -65,7 +65,7 @@ module Ci project.pipelines .where(ref: pipeline.ref) .where.not(id: pipeline.id) - .where.not(sha: project.repository.sha_from_ref(pipeline.ref)) + .where.not(sha: project.commit(pipeline.ref).try(:id)) .created_or_pending end diff --git a/changelogs/unreleased/ci-pipeline-commit-lookup.yml b/changelogs/unreleased/ci-pipeline-commit-lookup.yml new file mode 100644 index 00000000000..b2a1e4c2163 --- /dev/null +++ b/changelogs/unreleased/ci-pipeline-commit-lookup.yml @@ -0,0 +1,5 @@ +--- +title: Use porcelain commit lookup method on CI::CreatePipelineService +merge_request: 17911 +author: +type: fixed diff --git a/lib/gitlab/git/repository.rb b/lib/gitlab/git/repository.rb index 208710b0935..c15c128507d 100644 --- a/lib/gitlab/git/repository.rb +++ b/lib/gitlab/git/repository.rb @@ -516,10 +516,6 @@ module Gitlab end end - def sha_from_ref(ref) - rev_parse_target(ref).oid - end - # Return the object that +revspec+ points to. If +revspec+ is an # annotated tag, then return the tag's target instead. def rev_parse_target(revspec) @@ -2409,6 +2405,10 @@ module Gitlab def rev_list_param(spec) spec == :all ? ['--all'] : spec end + + def sha_from_ref(ref) + rev_parse_target(ref).oid + end end end end |