summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pkg/commands/git.go5
-rw-r--r--pkg/gui/files_panel.go2
2 files changed, 6 insertions, 1 deletions
diff --git a/pkg/commands/git.go b/pkg/commands/git.go
index adf304acd..ca0c83501 100644
--- a/pkg/commands/git.go
+++ b/pkg/commands/git.go
@@ -940,6 +940,11 @@ func (c *GitCommand) DiscardAnyUnstagedFileChanges() error {
return c.OSCommand.RunCommand("git checkout -- .")
}
+// RemoveTrackedFiles will delete the given file(s) even if they are currently tracked
+func (c *GitCommand) RemoveTrackedFiles(name string) error {
+ return c.OSCommand.RunCommand("git rm -r --cached %s", name)
+}
+
// RemoveUntrackedFiles runs `git clean -fd`
func (c *GitCommand) RemoveUntrackedFiles() error {
return c.OSCommand.RunCommand("git clean -fd")
diff --git a/pkg/gui/files_panel.go b/pkg/gui/files_panel.go
index 9fa3703a9..d7a5466cb 100644
--- a/pkg/gui/files_panel.go
+++ b/pkg/gui/files_panel.go
@@ -254,7 +254,7 @@ func (gui *Gui) handleIgnoreFile(g *gocui.Gui, v *gocui.View) error {
if err := gui.GitCommand.Ignore(file.Name); err != nil {
return err
}
- if err := gui.GitCommand.OSCommand.RunCommand("git rm -r --cached %s", file.Name); err != nil {
+ if err := gui.GitCommand.RemoveTrackedFiles(file.Name); err != nil {
return err
}
return gui.refreshFiles()