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
}