func()

in internal/indexer/indexer.go [62:105]


func (i *Indexer) initClients(ctx context.Context) error {
	config := &gitaly.StorageConfig{
		Address:      i.GitalyAddress,
		Token:        i.GitalyToken,
		StorageName:  i.GitalyStorageName,
		RelativePath: i.GitalyRelativePath,
	}
	gitalyClient, gitalyErr := gitaly.NewGitalyClient(ctx, config, i.ProjectID, int64(i.LimitFileSize))

	if gitalyErr != nil {
		return gitalyErr
	}

	i.gitalyClient = gitalyClient

	if i.TargetSHA == "" {
		targetSHA, err := i.gitalyClient.GetCurrentSHA()
		if err != nil {
			return err
		}
		i.TargetSHA = targetSHA
	}

	zoektSHA, ok, zoektErr := i.CurrentSHA()

	if zoektErr != nil {
		return zoektErr
	}

	if !ok || i.ForceReindex {
		i.ForceReindex = true
		i.gitalyClient.FromHash = ""
	} else if i.gitalyClient.IsValidSHA(zoektSHA) {
		i.gitalyClient.FromHash = zoektSHA
	} else {
		i.ForceReindex = true
		i.gitalyClient.FromHash = ""
	}

	i.initZoektClient(i.TargetSHA)
	i.gitalyClient.ToHash = i.TargetSHA

	return nil
}