diff --git a/pkg/commands/git.go b/pkg/commands/git.go index 722c217a2..3771ec003 100644 --- a/pkg/commands/git.go +++ b/pkg/commands/git.go @@ -788,7 +788,7 @@ func (c *GitCommand) WorktreeFileDiffCmdStr(file *File, plain bool, cached bool) colorArg = "never" } - return fmt.Sprintf("git diff --color=%s %s %s %s", colorArg, cachedArg, trackedArg, fileName) + return fmt.Sprintf("git diff --no-ext-diff --color=%s %s %s %s", colorArg, cachedArg, trackedArg, fileName) } func (c *GitCommand) ApplyPatch(patch string, flags ...string) error { @@ -1068,7 +1068,7 @@ func (c *GitCommand) GetFilesInDiff(from string, to string, reverse bool, patchM reverseFlag = " -R " } - filenames, err := c.OSCommand.RunCommandWithOutput("git diff --name-status %s %s %s", reverseFlag, from, to) + filenames, err := c.OSCommand.RunCommandWithOutput("git diff --no-ext-diff --name-status %s %s %s", reverseFlag, from, to) if err != nil { return nil, err } @@ -1121,7 +1121,7 @@ func (c *GitCommand) ShowFileDiffCmdStr(from string, to string, reverse bool, fi reverseFlag = " -R " } - return fmt.Sprintf("git diff --no-renames --color=%s %s %s %s -- %s", colorArg, from, to, reverseFlag, fileName) + return fmt.Sprintf("git diff --no-ext-diff --no-renames --color=%s %s %s %s -- %s", colorArg, from, to, reverseFlag, fileName) } // CheckoutFile checks out the file for the given commit diff --git a/pkg/commands/git_test.go b/pkg/commands/git_test.go index 0991b96cd..d6761148b 100644 --- a/pkg/commands/git_test.go +++ b/pkg/commands/git_test.go @@ -1408,7 +1408,7 @@ func TestGitCommandDiff(t *testing.T) { "Default case", func(cmd string, args ...string) *exec.Cmd { assert.EqualValues(t, "git", cmd) - assert.EqualValues(t, []string{"diff", "--color=always", "--", "test.txt"}, args) + assert.EqualValues(t, []string{"diff", "--no-ext-diff", "--color=always", "--", "test.txt"}, args) return exec.Command("echo") }, @@ -1424,7 +1424,7 @@ func TestGitCommandDiff(t *testing.T) { "cached", func(cmd string, args ...string) *exec.Cmd { assert.EqualValues(t, "git", cmd) - assert.EqualValues(t, []string{"diff", "--color=always", "--cached", "--", "test.txt"}, args) + assert.EqualValues(t, []string{"diff", "--no-ext-diff", "--color=always", "--cached", "--", "test.txt"}, args) return exec.Command("echo") }, @@ -1440,7 +1440,7 @@ func TestGitCommandDiff(t *testing.T) { "plain", func(cmd string, args ...string) *exec.Cmd { assert.EqualValues(t, "git", cmd) - assert.EqualValues(t, []string{"diff", "--color=never", "--", "test.txt"}, args) + assert.EqualValues(t, []string{"diff", "--no-ext-diff", "--color=never", "--", "test.txt"}, args) return exec.Command("echo") }, @@ -1456,7 +1456,7 @@ func TestGitCommandDiff(t *testing.T) { "File not tracked and file has no staged changes", func(cmd string, args ...string) *exec.Cmd { assert.EqualValues(t, "git", cmd) - assert.EqualValues(t, []string{"diff", "--color=always", "--no-index", "/dev/null", "test.txt"}, args) + assert.EqualValues(t, []string{"diff", "--no-ext-diff", "--color=always", "--no-index", "/dev/null", "test.txt"}, args) return exec.Command("echo") }, diff --git a/pkg/gui/diffing.go b/pkg/gui/diffing.go index ef7919273..a02c3d337 100644 --- a/pkg/gui/diffing.go +++ b/pkg/gui/diffing.go @@ -14,7 +14,7 @@ func (gui *Gui) exitDiffMode() error { func (gui *Gui) renderDiff() error { cmd := gui.OSCommand.ExecutableFromString( - fmt.Sprintf("git diff --color %s", gui.diffStr()), + fmt.Sprintf("git diff --no-ext-diff --color %s", gui.diffStr()), ) task := gui.createRunPtyTask(cmd)