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 }