Skip to content

Commit

Permalink
stop retrying due to index lock for now
Browse files Browse the repository at this point in the history
  • Loading branch information
jesseduffield committed Jan 27, 2022
1 parent 84a1992 commit bed185e
Showing 1 changed file with 1 addition and 24 deletions.
25 changes: 1 addition & 24 deletions pkg/commands/git_cmd_obj_runner.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
package commands

import (
"strings"
"time"

"github.com/jesseduffield/lazygit/pkg/commands/oscommands"
"github.com/sirupsen/logrus"
)
Expand All @@ -21,27 +18,7 @@ func (self *gitCmdObjRunner) Run(cmdObj oscommands.ICmdObj) error {
}

func (self *gitCmdObjRunner) RunWithOutput(cmdObj oscommands.ICmdObj) (string, error) {
// TODO: have this retry logic in other places we run the command
waitTime := 50 * time.Millisecond
retryCount := 5
attempt := 0

for {
output, err := self.innerRunner.RunWithOutput(cmdObj)
if err != nil {
// if we have an error based on the index lock, we should wait a bit and then retry
if strings.Contains(output, ".git/index.lock") {
self.log.Error(output)
self.log.Info("index.lock prevented command from running. Retrying command after a small wait")
attempt++
time.Sleep(waitTime)
if attempt < retryCount {
continue
}
}
}
return output, err
}
return self.innerRunner.RunWithOutput(cmdObj)
}

func (self *gitCmdObjRunner) RunAndProcessLines(cmdObj oscommands.ICmdObj, onLine func(line string) (bool, error)) error {
Expand Down

0 comments on commit bed185e

Please sign in to comment.