diff options
Diffstat (limited to 'app/services/repositories/changelog_service.rb')
-rw-r--r-- | app/services/repositories/changelog_service.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/app/services/repositories/changelog_service.rb b/app/services/repositories/changelog_service.rb index 3981e91e7f3..0122bfb154d 100644 --- a/app/services/repositories/changelog_service.rb +++ b/app/services/repositories/changelog_service.rb @@ -61,14 +61,14 @@ module Repositories # rubocop: enable Metrics/ParameterLists def execute - from = start_of_commit_range + config = Gitlab::Changelog::Config.from_git(@project) + from = start_of_commit_range(config) # For every entry we want to only include the merge request that # originally introduced the commit, which is the oldest merge request that # contains the commit. We fetch there merge requests in batches, reducing # the number of SQL queries needed to get this data. mrs_finder = MergeRequests::OldestPerCommitFinder.new(@project) - config = Gitlab::Changelog::Config.from_git(@project) release = Gitlab::Changelog::Release .new(version: @version, date: @date, config: config) @@ -98,10 +98,12 @@ module Repositories .commit(release: release, file: @file, branch: @branch, message: @message) end - def start_of_commit_range + def start_of_commit_range(config) return @from if @from - if (prev_tag = PreviousTagFinder.new(@project).execute(@version)) + finder = ChangelogTagFinder.new(@project, regex: config.tag_regex) + + if (prev_tag = finder.execute(@version)) return prev_tag.target_commit.id end |