45 lines
876 B
Go
Executable File
45 lines
876 B
Go
Executable File
package versions
|
|
|
|
import (
|
|
"fmt"
|
|
"local/notes-server/config"
|
|
"os/exec"
|
|
"time"
|
|
)
|
|
|
|
type Versions struct {
|
|
}
|
|
|
|
func New() (*Versions, error) {
|
|
v := &Versions{}
|
|
v.cmd("git", "init")
|
|
v.cmd("git", "config", "user.email", "user@user.user")
|
|
v.cmd("git", "config", "user.name", "user")
|
|
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
|
|
}
|