1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-27 12:32:37 +02:00

use go-git for commits

This commit is contained in:
Jesse Duffield 2018-08-09 14:33:51 +10:00
parent bebe94b4b3
commit 4832d365f1
2 changed files with 31 additions and 1 deletions

View File

@ -14,6 +14,8 @@ import (
"github.com/fatih/color"
"github.com/jesseduffield/gocui"
gitconfig "github.com/tcnksm/go-gitconfig"
git "gopkg.in/src-d/go-git.v4"
"gopkg.in/src-d/go-git.v4/plumbing/object"
)
var (
@ -455,7 +457,19 @@ func gitCommit(g *gocui.Gui, message string) (string, error) {
runSubProcess(g, "bash", "-c", "git commit -m \""+message+"\"")
return "", nil
}
return runDirectCommand("git commit -m \"" + message + "\"")
userName, _ := gitconfig.Global("user.name")
userEmail, _ := gitconfig.Global("user.email")
_, err := w.Commit(message, &git.CommitOptions{
Author: &object.Signature{
Name: userName,
Email: userEmail,
When: time.Now(),
},
})
if err != nil {
return err.Error(), err
}
return "", nil
}
func gitPull() (string, error) {

16
main.go
View File

@ -14,6 +14,7 @@ import (
"github.com/fatih/color"
"github.com/jesseduffield/gocui"
git "gopkg.in/src-d/go-git.v4"
)
// ErrSubProcess is raised when we are running a subprocess
@ -28,6 +29,8 @@ var (
date string
debuggingFlag = flag.Bool("debug", false, "a boolean")
versionFlag = flag.Bool("v", false, "Print the current version")
w *git.Worktree
)
func homeDirectory() string {
@ -88,6 +91,18 @@ func fallbackVersion() string {
return string(byteVersion)
}
func setupWorktree() {
r, err := git.PlainOpen(".")
if err != nil {
panic(err)
}
w, err = r.Worktree()
if err != nil {
panic(err)
}
}
func main() {
startTime = time.Now()
devLog("\n\n\n\n\n\n\n\n\n\n")
@ -101,6 +116,7 @@ func main() {
}
verifyInGitRepo()
navigateToRepoRootDirectory()
setupWorktree()
for {
if err := run(); err != nil {
if err == gocui.ErrQuit {