func()

in internal/indexer/indexer.go [214:258]


func (w *DefaultIndexWriter) Write(ctx context.Context, p *IndexParams) (*IndexingResult, error) {
	var modifiedFilesCount, deletedFilesCount uint

	putFunc := func(file *gitaly.File) error {
		if err := ctx.Err(); err != nil {
			return err
		}

		p.zoektBuilder.MarkFileAsChangedOrRemoved(file.Path)
		if e := p.zoektClient.AddFile(p.zoektBuilder, file.Path, file.Content, file.Size, file.TooLarge, []string{"HEAD"}); e != nil {
			return e
		}

		modifiedFilesCount++

		return nil
	}

	delFunc := func(path string) error {
		if err := ctx.Err(); err != nil {
			return err
		}

		p.zoektBuilder.MarkFileAsChangedOrRemoved(path)

		deletedFilesCount++

		return nil
	}

	if err := p.gitalyClient.EachFileChange(putFunc, delFunc); err != nil { //nolint:contextcheck
		return nil, err
	}

	if err := p.zoektBuilder.Finish(); err != nil {
		return nil, err
	}

	indexingResult := &IndexingResult{
		ModifiedFilesCount: modifiedFilesCount,
		DeletedFilesCount:  deletedFilesCount,
	}

	return indexingResult, nil
}