func()

in tools/eksDistroBuildToolingOpsTools/pkg/git/gogitClient.go [148:183]


func (g *GogitClient) Commit(message string, opts ...CommitOpt) error {
	logger.V(4).Info("Opening directory", "directory", g.RepoDirectory)
	r, err := g.Client.OpenRepo()
	if err != nil {
		logger.Info("Failed while attempting to open repo")
		return err
	}

	logger.V(4).Info("Opening working tree")
	w, err := g.Client.OpenWorktree(r)
	if err != nil {
		return err
	}

	logger.V(4).Info("Generating Commit object...")
	commitSignature := &object.Signature{
		When: time.Now(),
	}
	for _, opt := range opts {
		opt(commitSignature)
	}

	commit, err := g.Client.Commit(message, commitSignature, w)
	if err != nil {
		return err
	}

	logger.V(4).Info("Committing Object to local repo", "repo", g.RepoDirectory)
	finalizedCommit, err := g.Client.CommitObject(r, commit)
	if err != nil {
		return err
	}

	logger.Info("Finalized commit and committed to local repository", "hash", finalizedCommit.Hash)
	return err
}