func()

in tools/eksDistroBuildToolingOpsTools/pkg/git/gogitClient.go [534:571]


func (g *GogitClient) ReadFiles(foldername string) (map[string]string, error) {
	repo, err := g.Client.OpenRepo()
	if err != nil {
		logger.Error(err, "Opening repo")
		return nil, err
	}

	ref, err := g.Client.Head(repo)
	if err != nil {
		return nil, err
	}
	commit, err := repo.CommitObject(ref.Hash())
	if err != nil {
		return nil, err
	}

	tree, err := repo.TreeObject(commit.TreeHash)
	if err != nil {
		return nil, err
	}

	files := make(map[string]string)
	err = tree.Files().ForEach(func(f *object.File) error {
		if strings.Contains(f.Name, foldername) {
			p, err := f.Contents()
			if err != nil {
				return err
			}
			files[f.Name] = p
		}
		return nil
	})
	if err != nil {
		return nil, fmt.Errorf("reading files from folder: %s, %v", foldername, err)
	}

	return files, nil
}