diff --git a/pkg/commands/git.go b/pkg/commands/git.go index d02d75b4f..9b3c72fd9 100644 --- a/pkg/commands/git.go +++ b/pkg/commands/git.go @@ -106,7 +106,7 @@ func (c *GitCommand) GetStatusFiles() []File { // StashDo modify stash func (c *GitCommand) StashDo(index int, method string) error { - return c.OSCommand.RunCommand("git stash " + method + " stash@{" + fmt.Sprint(index) + "}") + return c.OSCommand.RunCommand(fmt.Sprintf("git stash %s stash@{%d}", method, index)) } // StashSave save stash diff --git a/pkg/commands/git_test.go b/pkg/commands/git_test.go index f77c2a3b9..554ffbd1a 100644 --- a/pkg/commands/git_test.go +++ b/pkg/commands/git_test.go @@ -161,6 +161,18 @@ func TestGetStatusFiles(t *testing.T) { } } +func TestGitCommandStashDo(t *testing.T) { + gitCmd := newDummyGitCommand() + gitCmd.OSCommand.command = func(cmd string, args ...string) *exec.Cmd { + assert.EqualValues(t, "git", cmd) + assert.EqualValues(t, []string{"stash", "drop", "stash@{1}"}, args) + + return exec.Command("echo") + } + + assert.NoError(t, gitCmd.StashDo(1, "drop")) +} + func TestGitCommandDiff(t *testing.T) { gitCommand := newDummyGitCommand() assert.NoError(t, test.GenerateRepo("lots_of_diffs.sh"))