notes-server/versions/versions.go

43 lines
775 B
Go

package versions
import (
"fmt"
"local/notes-server/config"
"os/exec"
"time"
)
type Versions struct {
}
func New() (*Versions, error) {
v := &Versions{}
v.cmd("git", "init")
return v, nil
}
func (v *Versions) Gitmmit() error {
if err := v.AddAll(); err != nil {
return fmt.Errorf("cannot add all: %v", err)
}
if err := v.Commit(); err != nil {
return fmt.Errorf("cannot commit: %v", err)
}
return nil
}
func (v *Versions) AddAll() error {
return v.cmd("git", "add", "-A", ":/")
}
func (v *Versions) Commit() error {
return v.cmd("git", "commit", "-m", time.Now().String())
}
func (v *Versions) cmd(cmd string, args ...string) error {
command := exec.Command(cmd, args...)
command.Dir = config.Root
_, err := command.CombinedOutput()
return err
}