github.com/jalalahmad/iplan@v0.0.1-alpha.7/internal/app/iplan/git.go (about)

     1  package iplan
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/go-git/go-git/v5"
     6  	"github.com/go-git/go-git/v5/plumbing"
     7  )
     8  
     9  func InitEmptyGit(basePath string) (repository *git.Repository, err error) {
    10  	return git.PlainInit(basePath, false)
    11  }
    12  
    13  func AddAndCommitFile(repository *git.Repository, filePath string) (plumbing.Hash, error) {
    14  	var h plumbing.Hash
    15  	w, err := repository.Worktree()
    16  	if err != nil {
    17  		return h, err
    18  	}
    19  	fmt.Println(w.Status())
    20  	w.Add(filePath)
    21  	fmt.Println(w.Status())
    22  	h, err = w.Commit(fmt.Sprintf(
    23  		"Add / Update %s",
    24  		filePath,
    25  	), &git.CommitOptions{})
    26  	fmt.Println(w.Status())
    27  
    28  	return h, err
    29  }