1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-02-09 13:47:11 +02:00

Fix git stash calls for older git versions

Older git versions are pickier about parameter order: for "store", the sha
argument must come last, and for "save", the message must come last.
This commit is contained in:
Stefan Haller 2023-07-01 16:18:38 +02:00
parent ea0baf58e6
commit 1827380c69
2 changed files with 6 additions and 5 deletions

View File

@ -63,8 +63,9 @@ func (self *StashCommands) Save(message string) error {
func (self *StashCommands) Store(sha string, message string) error {
trimmedMessage := strings.Trim(message, " \t")
cmdArgs := NewGitCmd("stash").Arg("store", sha).
cmdArgs := NewGitCmd("stash").Arg("store").
ArgIf(trimmedMessage != "", "-m", trimmedMessage).
Arg(sha).
ToArgv()
return self.cmd.New(cmdArgs).Run()
@ -93,7 +94,7 @@ func (self *StashCommands) ShowStashEntryCmdObj(index int, ignoreWhitespace bool
}
func (self *StashCommands) StashAndKeepIndex(message string) error {
cmdArgs := NewGitCmd("stash").Arg("save", message, "--keep-index").
cmdArgs := NewGitCmd("stash").Arg("save", "--keep-index", message).
ToArgv()
return self.cmd.New(cmdArgs).Run()
@ -171,7 +172,7 @@ func (self *StashCommands) SaveStagedChanges(message string) error {
func (self *StashCommands) StashIncludeUntrackedChanges(message string) error {
return self.cmd.New(
NewGitCmd("stash").Arg("save", message, "--include-untracked").
NewGitCmd("stash").Arg("save", "--include-untracked", message).
ToArgv(),
).Run()
}

View File

@ -57,7 +57,7 @@ func TestStashStore(t *testing.T) {
testName: "Non-empty message",
sha: "0123456789abcdef",
message: "New stash name",
expected: []string{"stash", "store", "0123456789abcdef", "-m", "New stash name"},
expected: []string{"stash", "store", "-m", "New stash name", "0123456789abcdef"},
},
{
testName: "Empty message",
@ -162,7 +162,7 @@ func TestStashRename(t *testing.T) {
expectedShaCmd: []string{"rev-parse", "refs/stash@{3}"},
shaResult: "f0d0f20f2f61ffd6d6bfe0752deffa38845a3edd\n",
expectedDropCmd: []string{"stash", "drop", "stash@{3}"},
expectedStoreCmd: []string{"stash", "store", "f0d0f20f2f61ffd6d6bfe0752deffa38845a3edd", "-m", "New message"},
expectedStoreCmd: []string{"stash", "store", "-m", "New message", "f0d0f20f2f61ffd6d6bfe0752deffa38845a3edd"},
},
{
testName: "Empty message",