@@ -564,23 +564,38 @@ func (v *Provider) fetchChangedFiles(_ context.Context, runevent *info.Event) (c
564564 }
565565 }
566566 case triggertype .Push :
567- pushChanges , _ , err := v .Client ().Commits .GetCommitDiff (v .sourceProjectID , runevent .SHA , & gitlab.GetCommitDiffOptions {})
568- if err != nil {
569- return changedfiles.ChangedFiles {}, err
570- }
571- for _ , change := range pushChanges {
572- changedFiles .All = append (changedFiles .All , change .NewPath )
573- if change .NewFile {
574- changedFiles .Added = append (changedFiles .Added , change .NewPath )
567+ options := gitlab.GetCommitDiffOptions {}
568+ pageOpts := []gitlab.RequestOptionFunc {}
569+
570+ for {
571+ pushChanges , resp , err := v .Client ().Commits .GetCommitDiff (v .sourceProjectID , runevent .SHA , & options , pageOpts ... )
572+ if err != nil {
573+ return changedfiles.ChangedFiles {}, err
575574 }
576- if change .DeletedFile {
577- changedFiles .Deleted = append (changedFiles .Deleted , change .NewPath )
575+
576+ for _ , change := range pushChanges {
577+ changedFiles .All = append (changedFiles .All , change .NewPath )
578+ if change .NewFile {
579+ changedFiles .Added = append (changedFiles .Added , change .NewPath )
580+ }
581+ if change .DeletedFile {
582+ changedFiles .Deleted = append (changedFiles .Deleted , change .NewPath )
583+ }
584+ if ! change .RenamedFile && ! change .DeletedFile && ! change .NewFile {
585+ changedFiles .Modified = append (changedFiles .Modified , change .NewPath )
586+ }
587+ if change .RenamedFile {
588+ changedFiles .Renamed = append (changedFiles .Renamed , change .NewPath )
589+ }
578590 }
579- if ! change .RenamedFile && ! change .DeletedFile && ! change .NewFile {
580- changedFiles .Modified = append (changedFiles .Modified , change .NewPath )
591+
592+ if resp .NextLink == "" {
593+ // Exit the loop when we've seen all pages.
594+ break
581595 }
582- if change .RenamedFile {
583- changedFiles .Renamed = append (changedFiles .Renamed , change .NewPath )
596+ // Otherwise, set param to query the next page
597+ pageOpts = []gitlab.RequestOptionFunc {
598+ gitlab .WithKeysetPaginationParameters (resp .NextLink ),
584599 }
585600 }
586601 default :
0 commit comments