WIP: Trying to implement diff

This commit is contained in:
Nikolai Rodionov
2023-10-20 13:31:30 +02:00
parent 93ad3389b2
commit ed3d45a7c4
15 changed files with 197 additions and 136 deletions

View File

@ -73,24 +73,26 @@ func (g *Git) CloneRepo(workdir, gitURL string, dry bool) error {
return nil
}
func (g *Git) AddAllAndCommit(workdir, message string) error {
func (g *Git) AddAllAndCommit(workdir, message string) (string, error) {
r, err := git.PlainOpen(workdir)
if err != nil {
return err
return "", err
}
w, err := r.Worktree()
if err != nil {
return err
return "", err
}
if _, err := w.Add("."); err != nil {
return err
return "", err
}
if _, err := w.Commit(message, &git.CommitOptions{}); err != nil {
return err
sha, err := w.Commit(message, &git.CommitOptions{})
if err != nil {
return "", err
}
return nil
return sha.String(), nil
}
func (g *Git) Push(workdir string) error {

View File

@ -10,8 +10,8 @@ func (m *Mock) CloneRepo(workdir, gitURL string, dry bool) error {
return nil
}
func (g *Mock) AddAllAndCommit(workdir, message string) error {
return nil
func (g *Mock) AddAllAndCommit(workdir, message string) (string, error) {
return "HASH", nil
}
func (g *Mock) Push(workdir string) error {
return nil

View File

@ -2,6 +2,6 @@ package githelper
type Githelper interface {
CloneRepo(workdir, gitURL string, dry bool) error
AddAllAndCommit(workdir, message string) error
AddAllAndCommit(workdir, message string) (string, error)
Push(workdir string) error
}