From 217a221cf4c537ae1d6699db48e27150b2e947e2 Mon Sep 17 00:00:00 2001 From: Bel LaPointe Date: Thu, 21 Nov 2019 13:53:04 -0700 Subject: [PATCH] 2019-11-21 13:53:04.526575 -0700 MST m=+0.013733497 --- versions/.versions.go | 67 +++++++++++++++++++++++++++++++++++++++ versions/versions.go | 46 ++++----------------------- versions/versions_test.go | 13 -------- 3 files changed, 73 insertions(+), 53 deletions(-) create mode 100644 versions/.versions.go diff --git a/versions/.versions.go b/versions/.versions.go new file mode 100644 index 0000000..67edd33 --- /dev/null +++ b/versions/.versions.go @@ -0,0 +1,67 @@ +package versions + +import ( + "local/notes-server/config" + "time" + + git "gopkg.in/src-d/go-git.v4" + "gopkg.in/src-d/go-git.v4/plumbing/object" +) + +type Versions struct { + repo *git.Repository +} + +func New() (*Versions, error) { + repo, err := git.PlainInit(config.Root, false) + if err != nil { + repo, err = git.PlainOpen(config.Root) + } + return &Versions{ + repo: repo, + }, err +} + +func (v *Versions) Gitmmit() error { + if err := v.AddAll(); err != nil { + return err + } + if err := v.Commit(); err != nil { + return err + } + return nil +} + +func (v *Versions) AddAll() error { + worktree, err := v.worktree() + if err != nil { + return err + } + + for _, path := range []string{".", "./*", "./**", "/", "/**", "/*"} { + if err := worktree.AddGlob(path); err != nil { + return err + } + } + + return nil +} + +func (v *Versions) Commit() error { + worktree, err := v.worktree() + if err != nil { + return err + } + + opts := &git.CommitOptions{Author: &object.Signature{}} + _, err = worktree.Commit(time.Now().String(), opts) + return err +} + +func (v *Versions) worktree() (*git.Worktree, error) { + worktree, err := v.repo.Worktree() + if err != nil { + return nil, err + } + return worktree, nil +} diff --git a/versions/versions.go b/versions/versions.go index 67edd33..8011429 100644 --- a/versions/versions.go +++ b/versions/versions.go @@ -1,25 +1,15 @@ package versions import ( - "local/notes-server/config" + "os/exec" "time" - - git "gopkg.in/src-d/go-git.v4" - "gopkg.in/src-d/go-git.v4/plumbing/object" ) type Versions struct { - repo *git.Repository } func New() (*Versions, error) { - repo, err := git.PlainInit(config.Root, false) - if err != nil { - repo, err = git.PlainOpen(config.Root) - } - return &Versions{ - repo: repo, - }, err + return &Versions{}, nil } func (v *Versions) Gitmmit() error { @@ -33,35 +23,11 @@ func (v *Versions) Gitmmit() error { } func (v *Versions) AddAll() error { - worktree, err := v.worktree() - if err != nil { - return err - } - - for _, path := range []string{".", "./*", "./**", "/", "/**", "/*"} { - if err := worktree.AddGlob(path); err != nil { - return err - } - } - - return nil + cmd := exec.Command("git", "add", "-A", ":/") + return cmd.Run() } func (v *Versions) Commit() error { - worktree, err := v.worktree() - if err != nil { - return err - } - - opts := &git.CommitOptions{Author: &object.Signature{}} - _, err = worktree.Commit(time.Now().String(), opts) - return err -} - -func (v *Versions) worktree() (*git.Worktree, error) { - worktree, err := v.repo.Worktree() - if err != nil { - return nil, err - } - return worktree, nil + cmd := exec.Command("git", "commit", "-m", time.Now().String()) + return cmd.Run() } diff --git a/versions/versions_test.go b/versions/versions_test.go index d3ac946..c8511f2 100644 --- a/versions/versions_test.go +++ b/versions/versions_test.go @@ -26,27 +26,15 @@ func TestVersionsHappy(t *testing.T) { t.Error(err) } - if _, err := v.repo.Head(); err == nil { - t.Error(err) - } if err := v.AddAll(); err != nil { t.Error(err) } - if _, err := v.repo.Head(); err == nil { - t.Error(err) - } if err := v.Commit(); err != nil { t.Error(err) } - if _, err := v.repo.Head(); err != nil { - t.Error(err) - } if err := v.Gitmmit(); err != nil { t.Error(err) } - if _, err := v.repo.Head(); err != nil { - t.Error(err) - } } func TestVersionsBad(t *testing.T) { @@ -74,5 +62,4 @@ I'm a doc t.Fatal(err) } t.Log(v) - t.Log(v.repo.Config()) }