From 6f7038c8277f82c32d2c23502f94fdf675ad07e1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?= <luka.markusic@microblink.com>
Date: Fri, 8 Apr 2022 11:32:23 +0200
Subject: [PATCH 1/6] Add option to stash only unstaged files

---
 docs/keybindings/Keybindings_en.md      |  2 +-
 pkg/commands/git_commands/stash.go      |  4 ++++
 pkg/gui/controllers/files_controller.go | 23 +++++++++++++++++++----
 pkg/i18n/chinese.go                     |  2 +-
 pkg/i18n/dutch.go                       |  2 +-
 pkg/i18n/english.go                     | 10 +++++++---
 pkg/i18n/polish.go                      |  2 +-
 7 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/docs/keybindings/Keybindings_en.md b/docs/keybindings/Keybindings_en.md
index 3a1d21fbd..7b53c0e34 100644
--- a/docs/keybindings/Keybindings_en.md
+++ b/docs/keybindings/Keybindings_en.md
@@ -124,7 +124,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
   <kbd>o</kbd>: open file
   <kbd>i</kbd>: add to .gitignore
   <kbd>r</kbd>: refresh files
-  <kbd>s</kbd>: stash changes
+  <kbd>s</kbd>: stash all changes
   <kbd>S</kbd>: view stash options
   <kbd>a</kbd>: stage/unstage all
   <kbd>enter</kbd>: stage individual hunks/lines for file, or collapse/expand for directory
diff --git a/pkg/commands/git_commands/stash.go b/pkg/commands/git_commands/stash.go
index d20024aa9..26460bfa0 100644
--- a/pkg/commands/git_commands/stash.go
+++ b/pkg/commands/git_commands/stash.go
@@ -49,6 +49,10 @@ func (self *StashCommands) ShowStashEntryCmdObj(index int) oscommands.ICmdObj {
 	return self.cmd.New(cmdStr).DontLog()
 }
 
+func (self *StashCommands) StashAndKeepIndex(message string) error {
+	return self.cmd.New(fmt.Sprintf("git stash save %s --keep-index", self.cmd.Quote(message))).Run()
+}
+
 // SaveStagedChanges stashes only the currently staged changes. This takes a few steps
 // shoutouts to Joe on https://stackoverflow.com/questions/14759748/stashing-only-staged-changes-in-git-is-it-possible
 func (self *StashCommands) SaveStagedChanges(message string) error {
diff --git a/pkg/gui/controllers/files_controller.go b/pkg/gui/controllers/files_controller.go
index 764c9753b..e37cc0951 100644
--- a/pkg/gui/controllers/files_controller.go
+++ b/pkg/gui/controllers/files_controller.go
@@ -561,14 +561,21 @@ func (self *FilesController) createStashMenu() error {
 				OnPress: func() error {
 					return self.handleStashSave(self.git.Stash.Save, self.c.Tr.Actions.StashAllChanges)
 				},
-				Key: 's',
+				Key: 'a',
 			},
 			{
-				DisplayString: self.c.Tr.LcStashStagedChanges,
+				DisplayString: self.c.Tr.LcStashAllChangesKeepIndex,
 				OnPress: func() error {
-					return self.handleStashSave(self.git.Stash.SaveStagedChanges, self.c.Tr.Actions.StashStagedChanges)
+					return self.handleStagedStashSave()
 				},
-				Key: 'S',
+				Key: 'i',
+			},
+			{
+				DisplayString: self.c.Tr.LcStashUnstagedChanges,
+				OnPress: func() error {
+					return self.handleStashSave(self.git.Stash.StashAndKeepIndex, self.c.Tr.Actions.StashUnstagedChanges)
+				},
+				Key: 'u',
 			},
 		},
 	})
@@ -603,6 +610,14 @@ func (self *FilesController) toggleTreeView() error {
 	return self.c.PostRefreshUpdate(self.context())
 }
 
+func (self *FilesController) handleStagedStashSave() error {
+	if !self.helpers.WorkingTree.AnyStagedFiles() {
+		return self.c.ErrorMsg(self.c.Tr.NoTrackedStagedFilesStash)
+	}
+
+	return self.handleStashSave(self.git.Stash.StashAndKeepIndex, self.c.Tr.Actions.StashStagedChanges)
+}
+
 func (self *FilesController) handleStashSave(stashFunc func(message string) error, action string) error {
 	if !self.helpers.WorkingTree.IsWorkingTreeDirty() {
 		return self.c.ErrorMsg(self.c.Tr.NoTrackedStagedFilesStash)
diff --git a/pkg/i18n/chinese.go b/pkg/i18n/chinese.go
index 2e4c4abc9..f9d8d26db 100644
--- a/pkg/i18n/chinese.go
+++ b/pkg/i18n/chinese.go
@@ -283,7 +283,7 @@ func chineseTranslationSet() TranslationSet {
 		PressEnterToReturn:                  "按下 Enter 键返回 lazygit",
 		LcViewStashOptions:                  "查看贮藏选项",
 		LcStashAllChanges:                   "将所有更改加入贮藏",
-		LcStashStagedChanges:                "将已暂存的更改加入贮藏",
+		LcStashAllChangesKeepIndex:          "将已暂存的更改加入贮藏",
 		LcStashOptions:                      "贮藏选项",
 		NotARepository:                      "错误:必须在 git 仓库中运行",
 		LcJump:                              "跳到面板",
diff --git a/pkg/i18n/dutch.go b/pkg/i18n/dutch.go
index 7069734c9..ee42ab34a 100644
--- a/pkg/i18n/dutch.go
+++ b/pkg/i18n/dutch.go
@@ -246,7 +246,7 @@ func dutchTranslationSet() TranslationSet {
 		PressEnterToReturn:                  "Press om terug te gaan naar lazygit",
 		LcViewStashOptions:                  "bekijk stash opties",
 		LcStashAllChanges:                   "stash-bestanden",
-		LcStashStagedChanges:                "stash staged wijzigingen",
+		LcStashAllChangesKeepIndex:          "stash staged wijzigingen",
 		LcStashOptions:                      "Stash opties",
 		NotARepository:                      "Fout: moet in een git repository uitgevoerd worden",
 		LcJump:                              "ga naar paneel",
diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go
index 585da5e30..1df120dda 100644
--- a/pkg/i18n/english.go
+++ b/pkg/i18n/english.go
@@ -276,7 +276,8 @@ type TranslationSet struct {
 	PressEnterToReturn                  string
 	LcViewStashOptions                  string
 	LcStashAllChanges                   string
-	LcStashStagedChanges                string
+	LcStashAllChangesKeepIndex          string
+	LcStashUnstagedChanges              string
 	LcStashOptions                      string
 	NotARepository                      string
 	LcJump                              string
@@ -545,6 +546,7 @@ type Actions struct {
 	OpenFile                          string
 	StashAllChanges                   string
 	StashStagedChanges                string
+	StashUnstagedChanges              string
 	GitFlowFinish                     string
 	GitFlowStart                      string
 	CopyToClipboard                   string
@@ -875,8 +877,9 @@ func EnglishTranslationSet() TranslationSet {
 		LcResetTo:                           `reset to`,
 		PressEnterToReturn:                  "Press enter to return to lazygit",
 		LcViewStashOptions:                  "view stash options",
-		LcStashAllChanges:                   "stash changes",
-		LcStashStagedChanges:                "stash staged changes",
+		LcStashAllChanges:                   "stash all changes",
+		LcStashAllChangesKeepIndex:          "stash all changes and keep index",
+		LcStashUnstagedChanges:              "stash unstaged changes",
 		LcStashOptions:                      "Stash options",
 		NotARepository:                      "Error: must be run inside a git repository",
 		LcJump:                              "jump to panel",
@@ -1128,6 +1131,7 @@ func EnglishTranslationSet() TranslationSet {
 			OpenFile:                          "Open file",
 			StashAllChanges:                   "Stash all changes",
 			StashStagedChanges:                "Stash staged changes",
+			StashUnstagedChanges:              "Stash unstaged changes",
 			GitFlowFinish:                     "Git flow finish",
 			GitFlowStart:                      "Git Flow start",
 			CopyToClipboard:                   "Copy to clipboard",
diff --git a/pkg/i18n/polish.go b/pkg/i18n/polish.go
index 3ed130e05..53b67c476 100644
--- a/pkg/i18n/polish.go
+++ b/pkg/i18n/polish.go
@@ -208,7 +208,7 @@ func polishTranslationSet() TranslationSet {
 		PressEnterToReturn:                  "Wciśnij enter żeby wrócić do lazygit",
 		LcViewStashOptions:                  "wyświetl opcje schowka",
 		LcStashAllChanges:                   "przechowaj zmiany",
-		LcStashStagedChanges:                "przechowaj zmiany z poczekalni",
+		LcStashAllChangesKeepIndex:          "przechowaj zmiany z poczekalni",
 		LcStashOptions:                      "Opcje schowka",
 		NotARepository:                      "Błąd: nie jesteś w repozytorium",
 		LcJump:                              "przeskocz do panelu",

From 1ae2dc994102841a189c85ca4c61b88d7cf82724 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?= <luka.markusic@microblink.com>
Date: Thu, 14 Apr 2022 21:45:55 +0200
Subject: [PATCH 2/6] The four horsemen of stashing

---
 pkg/commands/git_commands/stash.go      | 14 +++++++++-
 pkg/gui/controllers/files_controller.go | 36 +++++++++++++++----------
 pkg/i18n/english.go                     |  6 +++++
 3 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/pkg/commands/git_commands/stash.go b/pkg/commands/git_commands/stash.go
index 26460bfa0..71b8f655b 100644
--- a/pkg/commands/git_commands/stash.go
+++ b/pkg/commands/git_commands/stash.go
@@ -38,7 +38,6 @@ func (self *StashCommands) Apply(index int) error {
 }
 
 // Save save stash
-// TODO: before calling this, check if there is anything to save
 func (self *StashCommands) Save(message string) error {
 	return self.cmd.New("git stash save " + self.cmd.Quote(message)).Run()
 }
@@ -53,6 +52,19 @@ func (self *StashCommands) StashAndKeepIndex(message string) error {
 	return self.cmd.New(fmt.Sprintf("git stash save %s --keep-index", self.cmd.Quote(message))).Run()
 }
 
+func (self *StashCommands) StashUnstagedChanges(message string) error {
+	if err := self.cmd.New("git commit -m \"WIP\"").Run(); err != nil {
+		return err
+	}
+	if err := self.Save(message); err != nil {
+		return err
+	}
+	if err := self.cmd.New("git reset --soft HEAD^").Run(); err != nil {
+		return err
+	}
+	return nil
+}
+
 // SaveStagedChanges stashes only the currently staged changes. This takes a few steps
 // shoutouts to Joe on https://stackoverflow.com/questions/14759748/stashing-only-staged-changes-in-git-is-it-possible
 func (self *StashCommands) SaveStagedChanges(message string) error {
diff --git a/pkg/gui/controllers/files_controller.go b/pkg/gui/controllers/files_controller.go
index e37cc0951..26c6e131f 100644
--- a/pkg/gui/controllers/files_controller.go
+++ b/pkg/gui/controllers/files_controller.go
@@ -559,21 +559,37 @@ func (self *FilesController) createStashMenu() error {
 			{
 				DisplayString: self.c.Tr.LcStashAllChanges,
 				OnPress: func() error {
-					return self.handleStashSave(self.git.Stash.Save, self.c.Tr.Actions.StashAllChanges)
+					return self.handleStashSave(self.git.Stash.Save, self.c.Tr.Actions.StashAllChanges, self.c.Tr.NoFilesToStash)
 				},
 				Key: 'a',
 			},
 			{
 				DisplayString: self.c.Tr.LcStashAllChangesKeepIndex,
 				OnPress: func() error {
-					return self.handleStagedStashSave()
+					// if there are no staged files it behaves the same as Stash.Save
+					return self.handleStashSave(self.git.Stash.StashAndKeepIndex, self.c.Tr.Actions.StashAllChangesKeepIndex, self.c.Tr.NoFilesToStash)
 				},
 				Key: 'i',
 			},
+			{
+				DisplayString: self.c.Tr.LcStashStagedChanges,
+				OnPress: func() error {
+					// there must be something in staging otherwise the current implementation mucks the stash up
+					if !self.helpers.WorkingTree.AnyStagedFiles() {
+						return self.c.ErrorMsg(self.c.Tr.NoTrackedStagedFilesStash)
+					}
+					return self.handleStashSave(self.git.Stash.SaveStagedChanges, self.c.Tr.Actions.StashStagedChanges, self.c.Tr.NoTrackedStagedFilesStash)
+				},
+				Key: 's',
+			},
 			{
 				DisplayString: self.c.Tr.LcStashUnstagedChanges,
 				OnPress: func() error {
-					return self.handleStashSave(self.git.Stash.StashAndKeepIndex, self.c.Tr.Actions.StashUnstagedChanges)
+					if self.helpers.WorkingTree.AnyStagedFiles() {
+						return self.handleStashSave(self.git.Stash.StashUnstagedChanges, self.c.Tr.Actions.StashUnstagedChanges, self.c.Tr.NoFilesToStash)
+					}
+					// ordinary stash
+					return self.handleStashSave(self.git.Stash.Save, self.c.Tr.Actions.StashUnstagedChanges, self.c.Tr.NoFilesToStash)
 				},
 				Key: 'u',
 			},
@@ -582,7 +598,7 @@ func (self *FilesController) createStashMenu() error {
 }
 
 func (self *FilesController) stash() error {
-	return self.handleStashSave(self.git.Stash.Save, self.c.Tr.Actions.StashAllChanges)
+	return self.handleStashSave(self.git.Stash.Save, self.c.Tr.Actions.StashAllChanges, self.c.Tr.NoTrackedStagedFilesStash)
 }
 
 func (self *FilesController) createResetToUpstreamMenu() error {
@@ -610,17 +626,9 @@ func (self *FilesController) toggleTreeView() error {
 	return self.c.PostRefreshUpdate(self.context())
 }
 
-func (self *FilesController) handleStagedStashSave() error {
-	if !self.helpers.WorkingTree.AnyStagedFiles() {
-		return self.c.ErrorMsg(self.c.Tr.NoTrackedStagedFilesStash)
-	}
-
-	return self.handleStashSave(self.git.Stash.StashAndKeepIndex, self.c.Tr.Actions.StashStagedChanges)
-}
-
-func (self *FilesController) handleStashSave(stashFunc func(message string) error, action string) error {
+func (self *FilesController) handleStashSave(stashFunc func(message string) error, action string, errorMsg string) error {
 	if !self.helpers.WorkingTree.IsWorkingTreeDirty() {
-		return self.c.ErrorMsg(self.c.Tr.NoTrackedStagedFilesStash)
+		return self.c.ErrorMsg(errorMsg)
 	}
 
 	return self.c.Prompt(types.PromptOpts{
diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go
index 1df120dda..b34dcf369 100644
--- a/pkg/i18n/english.go
+++ b/pkg/i18n/english.go
@@ -119,6 +119,7 @@ type TranslationSet struct {
 	StashApply                          string
 	SureApplyStashEntry                 string
 	NoTrackedStagedFilesStash           string
+	NoFilesToStash                      string
 	StashChanges                        string
 	MergeAborted                        string
 	OpenConfig                          string
@@ -276,6 +277,7 @@ type TranslationSet struct {
 	PressEnterToReturn                  string
 	LcViewStashOptions                  string
 	LcStashAllChanges                   string
+	LcStashStagedChanges                string
 	LcStashAllChangesKeepIndex          string
 	LcStashUnstagedChanges              string
 	LcStashOptions                      string
@@ -545,6 +547,7 @@ type Actions struct {
 	Pull                              string
 	OpenFile                          string
 	StashAllChanges                   string
+	StashAllChangesKeepIndex          string
 	StashStagedChanges                string
 	StashUnstagedChanges              string
 	GitFlowFinish                     string
@@ -720,6 +723,7 @@ func EnglishTranslationSet() TranslationSet {
 		StashApply:                          "Stash apply",
 		SureApplyStashEntry:                 "Are you sure you want to apply this stash entry?",
 		NoTrackedStagedFilesStash:           "You have no tracked/staged files to stash",
+		NoFilesToStash:                      "You have no files to stash",
 		StashChanges:                        "Stash changes",
 		MergeAborted:                        "Merge aborted",
 		OpenConfig:                          "open config file",
@@ -878,6 +882,7 @@ func EnglishTranslationSet() TranslationSet {
 		PressEnterToReturn:                  "Press enter to return to lazygit",
 		LcViewStashOptions:                  "view stash options",
 		LcStashAllChanges:                   "stash all changes",
+		LcStashStagedChanges:                "stash staged changes",
 		LcStashAllChangesKeepIndex:          "stash all changes and keep index",
 		LcStashUnstagedChanges:              "stash unstaged changes",
 		LcStashOptions:                      "Stash options",
@@ -1130,6 +1135,7 @@ func EnglishTranslationSet() TranslationSet {
 			Pull:                              "Pull",
 			OpenFile:                          "Open file",
 			StashAllChanges:                   "Stash all changes",
+			StashAllChangesKeepIndex:          "Stash all changes and keep index",
 			StashStagedChanges:                "Stash staged changes",
 			StashUnstagedChanges:              "Stash unstaged changes",
 			GitFlowFinish:                     "Git flow finish",

From bd9daf80b78789f28b151164b4baa45db3eb4898 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?= <luka.markusic@microblink.com>
Date: Fri, 15 Apr 2022 08:03:25 +0200
Subject: [PATCH 3/6] Add integration tests

---
 pkg/commands/git_commands/stash.go            |   2 +-
 .../stash/expected/repo/.git_keep/ORIG_HEAD   |   2 +-
 .../stash/expected/repo/.git_keep/config      |   2 --
 .../stash/expected/repo/.git_keep/index       | Bin 281 -> 262 bytes
 .../expected/repo/.git_keep/info/exclude      |   1 -
 .../stash/expected/repo/.git_keep/logs/HEAD   |  11 ++++----
 .../repo/.git_keep/logs/refs/heads/master     |   6 ++--
 .../expected/repo/.git_keep/logs/refs/stash   |   3 +-
 .../25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc | Bin 161 -> 0 bytes
 .../2e/fac8148440778cbddcd80ac7477981277dcffe |   1 -
 .../3b/29b35d4357f8e64cafd95140a70d7c9b25138a | Bin 162 -> 0 bytes
 .../4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d | Bin 147 -> 0 bytes
 .../4f/9ff661c6c81b54d631d6d7c71399972e5c7a58 |   2 ++
 .../6b/1f87e5b74cd77d755d213e0850f4de02b3cdce | Bin 0 -> 148 bytes
 .../81/f9f45d5eca6c23bf25b4a53172bcfb5ceb3963 |   2 ++
 .../8c/3123f6f4cee663b57398072df088c6f2dfeb9b |   3 ++
 .../8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 | Bin
 .../9f/2757166809c291c65f09778abb46cfcc4e4a0c | Bin 107 -> 0 bytes
 .../a6/ada9f3d895e751ec289c69913a02146c0ca844 | Bin 191 -> 0 bytes
 .../a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b | Bin 118 -> 0 bytes
 .../be/485112173592dea7b39c7efc3a6f52f43b71b9 | Bin 0 -> 184 bytes
 .../be/be684962b7b3a4d751f95173b31a051c7d46e7 | Bin 0 -> 182 bytes
 .../e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065 | Bin 184 -> 0 bytes
 .../f3/48ff60bdbb3695f2f519db6bc115b1b8d50886 | Bin 147 -> 0 bytes
 .../f7/114350b59290905115d7918efe144eb2c62a76 | Bin 0 -> 147 bytes
 .../expected/repo/.git_keep/refs/heads/master |   2 +-
 .../stash/expected/repo/.git_keep/refs/stash  |   2 +-
 test/integration/stash/expected/repo/file2    |   2 +-
 test/integration/stash/expected/repo/file3    |   1 +
 test/integration/stash/recording.json         |   2 +-
 .../expected/repo/.git_keep/COMMIT_EDITMSG    |   1 +
 .../expected/repo/.git_keep/FETCH_HEAD        |   0
 .../expected/repo/.git_keep/HEAD              |   1 +
 .../expected/repo/.git_keep/ORIG_HEAD         |   1 +
 .../expected/repo/.git_keep/config            |   8 ++++++
 .../expected/repo/.git_keep/description       |   1 +
 .../expected/repo/.git_keep/index             | Bin 0 -> 262 bytes
 .../expected/repo/.git_keep/info/exclude      |   6 ++++
 .../expected/repo/.git_keep/logs/HEAD         |   6 ++++
 .../repo/.git_keep/logs/refs/heads/master     |   3 ++
 .../18/0cf8328022becee9aaa2577a8f84ea2b9f3827 | Bin 0 -> 21 bytes
 .../1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 | Bin 0 -> 50 bytes
 .../28/59c9a5f343c80929844d6e49d3792b9169c4da | Bin 0 -> 85 bytes
 .../29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 |   3 ++
 .../38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da | Bin 0 -> 21 bytes
 .../56/52247b638d1516506790d6648b864ba3447f68 | Bin
 .../5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 | Bin 0 -> 81 bytes
 .../62/4317ac2731648d4b0e30068dd35aca2a0b4791 | Bin 0 -> 147 bytes
 .../6c/09c8b498849a1679bcd05488661a2ce123b578 |   2 ++
 .../6e/fac41f92e54de5411b9195449dbef0960daaf4 |   3 ++
 .../7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e |   1 +
 .../8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 | Bin 0 -> 100 bytes
 .../8f/a874178500f99d69f649ff9128f3d1b62369a0 | Bin 0 -> 148 bytes
 .../9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c | Bin 0 -> 101 bytes
 .../a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 | Bin 0 -> 21 bytes
 .../b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41 | Bin 0 -> 162 bytes
 .../c7/c7da3c64e86c3270f2639a1379e67e14891b6a | Bin 0 -> 28 bytes
 .../d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 |   2 ++
 .../d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd |   1 +
 .../f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc | Bin 0 -> 161 bytes
 .../expected/repo/.git_keep/refs/heads/master |   1 +
 .../stashAllChanges/expected/repo/file0       |   1 +
 .../stashAllChanges/expected/repo/file1       |   1 +
 .../stashAllChanges/expected/repo/file2       |   1 +
 .../stashAllChanges/expected/repo/file3       |   1 +
 .../stashAllChanges/recording.json            |   1 +
 test/integration/stashAllChanges/setup.sh     |  26 ++++++++++++++++++
 test/integration/stashAllChanges/test.json    |   1 +
 .../expected/repo/.git_keep/COMMIT_EDITMSG    |   1 +
 .../expected/repo/.git_keep/FETCH_HEAD        |   0
 .../expected/repo/.git_keep/HEAD              |   1 +
 .../expected/repo/.git_keep/ORIG_HEAD         |   1 +
 .../expected/repo/.git_keep/config            |   8 ++++++
 .../expected/repo/.git_keep/description       |   1 +
 .../expected/repo/.git_keep/index             | Bin 0 -> 262 bytes
 .../expected/repo/.git_keep/info/exclude      |   6 ++++
 .../expected/repo/.git_keep/logs/HEAD         |   4 +++
 .../repo/.git_keep/logs/refs/heads/master     |   3 ++
 .../18/0cf8328022becee9aaa2577a8f84ea2b9f3827 | Bin 0 -> 21 bytes
 .../1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 | Bin 0 -> 50 bytes
 .../24/35f1f9565ecb370eb550f591d55179f1e9a7de | Bin 0 -> 161 bytes
 .../38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da | Bin 0 -> 21 bytes
 .../5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 | Bin 0 -> 81 bytes
 .../66/bbc809cdafd867cf9320bfb7484bb8fa898448 |   3 ++
 .../78/3b58a50bb867917c6a8a78ff18cadb3fdc771e | Bin 0 -> 119 bytes
 .../8f/bffdd316c764e171c3e421205327588077f49c |   1 +
 .../9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c | Bin 0 -> 101 bytes
 .../a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 | Bin 0 -> 21 bytes
 .../c7/c7da3c64e86c3270f2639a1379e67e14891b6a | Bin 0 -> 28 bytes
 .../d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 |   2 ++
 .../e2/21db5981b482fb2110c8b283f48c08cd5f10c3 | Bin 0 -> 148 bytes
 .../e5/5d4f76f2b99c3b6b0c960725099ae54e34af70 | Bin 0 -> 147 bytes
 .../expected/repo/.git_keep/refs/heads/master |   1 +
 .../expected/repo/file0                       |   1 +
 .../expected/repo/file1                       |   1 +
 .../expected/repo/file2                       |   1 +
 .../expected/repo/file3                       |   1 +
 .../stashAllChangesKeepIndex/recording.json   |   1 +
 .../stashAllChangesKeepIndex/setup.sh         |  26 ++++++++++++++++++
 .../stashAllChangesKeepIndex/test.json        |   1 +
 .../expected/repo/.git_keep/ORIG_HEAD         |   2 +-
 .../stashDrop/expected/repo/.git_keep/config  |   2 --
 .../stashDrop/expected/repo/.git_keep/index   | Bin 262 -> 262 bytes
 .../expected/repo/.git_keep/info/exclude      |   1 -
 .../expected/repo/.git_keep/logs/HEAD         |  13 ++++-----
 .../repo/.git_keep/logs/refs/heads/master     |   6 ++--
 .../expected/repo/.git_keep/logs/refs/stash   |   1 -
 .../0d/b7c2bffa900585f06112e5b06f8f358638f447 |   4 +++
 .../1c/88e069f3e318f1e0e02188cf65d360ab4eab67 | Bin 0 -> 185 bytes
 .../1e/6f4a55f3dd26848238337763f249681ef9397b | Bin 160 -> 0 bytes
 .../1e/a8d05b2cbc972b48eae3181e846f82eeab50ef | Bin 0 -> 118 bytes
 .../2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf |   1 +
 .../56/52247b638d1516506790d6648b864ba3447f68 | Bin 127 -> 0 bytes
 .../6d/c07da80aed51d01a56a89ef37f4411adbd75c5 | Bin 161 -> 0 bytes
 .../76/05fecac5dee01fb9df55ca984dcc7a72810f48 | Bin 145 -> 0 bytes
 .../87/82cd42420de6a24264417d43d50ada9aa53ad5 | Bin 0 -> 162 bytes
 .../8e/724d42465144007f28d45514537886f527eef9 | Bin 0 -> 146 bytes
 .../8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 | Bin 0 -> 100 bytes
 .../9f/2757166809c291c65f09778abb46cfcc4e4a0c | Bin 107 -> 0 bytes
 .../a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d | Bin 0 -> 182 bytes
 .../a6/ed180e13649885eed39866051ca0e25c0ad6ac | Bin 189 -> 0 bytes
 .../c0/0c9eb1ae239494475772c3f3dbae5ea4169575 |   2 --
 .../d2/2496528fe3c076a668c496ae7ba1f8136f1614 |   3 --
 .../e0/61c8716830532562f919dcb125ea804f87ca2b | Bin 182 -> 0 bytes
 .../e5/cef1a548f3613b3e538bd0fc2b4ec88043fc25 | Bin 190 -> 0 bytes
 .../f1/963e622e30276cf4e5880109ea475434d6f2ae | Bin 0 -> 146 bytes
 .../f4/f81b6542e98a2f80269449674b0f8f454b74b0 | Bin 182 -> 0 bytes
 .../expected/repo/.git_keep/refs/heads/master |   2 +-
 .../expected/repo/.git_keep/refs/stash        |   1 -
 .../integration/stashDrop/expected/repo/file1 |   2 +-
 .../integration/stashDrop/expected/repo/file2 |   2 +-
 .../integration/stashDrop/expected/repo/file3 |   1 +
 test/integration/stashDrop/recording.json     |   2 +-
 .../expected/repo/.git_keep/ORIG_HEAD         |   2 +-
 .../stashPop/expected/repo/.git_keep/config   |   2 --
 .../stashPop/expected/repo/.git_keep/index    | Bin 281 -> 262 bytes
 .../expected/repo/.git_keep/info/exclude      |   1 -
 .../expected/repo/.git_keep/logs/HEAD         |  12 ++++----
 .../repo/.git_keep/logs/refs/heads/master     |   6 ++--
 .../expected/repo/.git_keep/logs/refs/stash   |   2 +-
 .../01/38b2ed57b0412b2c2244a267fc1396f06ac287 |   2 ++
 .../2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0 | Bin 0 -> 118 bytes
 .../3a/e4e5d4920afbb1bac23426afb237524c8dbe41 | Bin 147 -> 0 bytes
 .../43/7b9b0ca941f1e12c8b45958f5d6ebd11cdd41a |   1 -
 .../5e/6c498354e93f4049e80254810f4577b180a8ab |   2 ++
 .../60/5615b78c181314a7a019e116647bfdf9127c94 | Bin 0 -> 147 bytes
 .../82/cc524693ae9fb40af0ed8ab7e22581084dcd17 | Bin 161 -> 0 bytes
 .../86/34432ef171aa4b8d8e688fc1e5645245bf36ac | Bin 147 -> 0 bytes
 .../8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930 | Bin 0 -> 183 bytes
 .../8b/081dcb0e1fd5e9862d1aa6891b805b101abe7b | Bin 118 -> 0 bytes
 .../8b/d86c566a91e9f8ace9883f7017f562c971b3f7 | Bin 182 -> 0 bytes
 .../a8/4a187f63b05bb43f19cfbc8bedab97ed33272d | Bin 0 -> 162 bytes
 .../b0/00623a052b4d2226c43ba396b830738799740e | Bin 162 -> 0 bytes
 .../b8/372ee9ddb68d8b15c440d86d21b6199583fb26 |   3 ++
 .../c6/a8d49b926afc9ff2b4c64398ee678c50c2c953 |   1 -
 .../e0/0e994a4acb98bcbe93ad478e09dcb3bed6b26c | Bin 190 -> 0 bytes
 .../expected/repo/.git_keep/refs/heads/master |   2 +-
 .../expected/repo/.git_keep/refs/stash        |   2 +-
 test/integration/stashPop/expected/repo/file2 |   2 +-
 .../expected/repo/.git_keep/COMMIT_EDITMSG    |   1 +
 .../expected/repo/.git_keep/FETCH_HEAD        |   0
 .../expected/repo/.git_keep/HEAD              |   1 +
 .../expected/repo/.git_keep/ORIG_HEAD         |   1 +
 .../expected/repo/.git_keep/config            |   8 ++++++
 .../expected/repo/.git_keep/description       |   1 +
 .../expected/repo/.git_keep/index             | Bin 0 -> 334 bytes
 .../expected/repo/.git_keep/info/exclude      |   6 ++++
 .../expected/repo/.git_keep/logs/HEAD         |   5 ++++
 .../repo/.git_keep/logs/refs/heads/master     |   3 ++
 .../18/0cf8328022becee9aaa2577a8f84ea2b9f3827 | Bin 0 -> 21 bytes
 .../1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 | Bin 0 -> 50 bytes
 .../28/59c9a5f343c80929844d6e49d3792b9169c4da | Bin 0 -> 85 bytes
 .../2b/515d20a02212d14a519d82917b791e01ebc659 | Bin 0 -> 148 bytes
 .../2b/d62bafdea9ceb4732326e82d4ce14196d7a032 | Bin 0 -> 160 bytes
 .../38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da | Bin 0 -> 21 bytes
 .../40/62b34fff18c4453edded2da4f0737176daaa4d | Bin 0 -> 118 bytes
 .../4f/301f03a7f9c5a3c98aa219dd0f184afec3f248 | Bin 0 -> 107 bytes
 .../54/fbb8276359cb6f68faa9cb7dcf58f93c838035 | Bin 0 -> 187 bytes
 .../9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c | Bin 0 -> 101 bytes
 .../a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 | Bin 0 -> 21 bytes
 .../b1/60a56c2580f8cc1e5432f32212f83395459997 | Bin 0 -> 147 bytes
 .../c7/c7da3c64e86c3270f2639a1379e67e14891b6a | Bin 0 -> 28 bytes
 .../d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 |   2 ++
 .../fe/0b6136ae74e574b3349fabbf0b89053c6a201e | Bin 0 -> 187 bytes
 .../expected/repo/.git_keep/refs/heads/master |   1 +
 .../stashStagedChanges/expected/repo/file0    |   1 +
 .../stashStagedChanges/expected/repo/file1    |   1 +
 .../stashStagedChanges/expected/repo/file2    |   1 +
 .../stashStagedChanges/expected/repo/file3    |   1 +
 .../stashStagedChanges/recording.json         |   1 +
 test/integration/stashStagedChanges/setup.sh  |  26 ++++++++++++++++++
 test/integration/stashStagedChanges/test.json |   1 +
 .../expected/repo/.git_keep/COMMIT_EDITMSG    |   1 +
 .../expected/repo/.git_keep/FETCH_HEAD        |   0
 .../expected/repo/.git_keep/HEAD              |   1 +
 .../expected/repo/.git_keep/ORIG_HEAD         |   1 +
 .../expected/repo/.git_keep/config            |   8 ++++++
 .../expected/repo/.git_keep/description       |   1 +
 .../expected/repo/.git_keep/index             | Bin 0 -> 262 bytes
 .../expected/repo/.git_keep/info/exclude      |   6 ++++
 .../expected/repo/.git_keep/logs/HEAD         |   6 ++++
 .../repo/.git_keep/logs/refs/heads/master     |   5 ++++
 .../18/0cf8328022becee9aaa2577a8f84ea2b9f3827 | Bin 0 -> 21 bytes
 .../1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 | Bin 0 -> 50 bytes
 .../38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da | Bin 0 -> 21 bytes
 .../3a/8dac53bf53e3243a325a9e0b3ef523764ee74d |   2 ++
 .../5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 | Bin 0 -> 81 bytes
 .../66/bbc809cdafd867cf9320bfb7484bb8fa898448 |   3 ++
 .../74/244487ab29dc413ae1f98e4fa40256a0787212 | Bin 0 -> 147 bytes
 .../84/988130b443577e2afc62d4103f92fcbed33add | Bin 0 -> 118 bytes
 .../9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c | Bin 0 -> 101 bytes
 .../a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 | Bin 0 -> 21 bytes
 .../c2/71c5cc28c056383278c655b4e227fa69b06073 | Bin 0 -> 185 bytes
 .../c7/c7da3c64e86c3270f2639a1379e67e14891b6a | Bin 0 -> 28 bytes
 .../c8/84f894908d3042f54995005b8e3445958b2fcc | Bin 0 -> 148 bytes
 .../d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 |   2 ++
 .../ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b | Bin 0 -> 176 bytes
 .../expected/repo/.git_keep/refs/heads/master |   1 +
 .../stashUnstagedChanges/expected/repo/file0  |   1 +
 .../stashUnstagedChanges/expected/repo/file1  |   1 +
 .../stashUnstagedChanges/expected/repo/file2  |   1 +
 .../stashUnstagedChanges/expected/repo/file3  |   1 +
 .../stashUnstagedChanges/recording.json       |   1 +
 .../integration/stashUnstagedChanges/setup.sh |  26 ++++++++++++++++++
 .../stashUnstagedChanges/test.json            |   1 +
 225 files changed, 329 insertions(+), 66 deletions(-)
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/3b/29b35d4357f8e64cafd95140a70d7c9b25138a
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d
 create mode 100644 test/integration/stash/expected/repo/.git_keep/objects/4f/9ff661c6c81b54d631d6d7c71399972e5c7a58
 create mode 100644 test/integration/stash/expected/repo/.git_keep/objects/6b/1f87e5b74cd77d755d213e0850f4de02b3cdce
 create mode 100644 test/integration/stash/expected/repo/.git_keep/objects/81/f9f45d5eca6c23bf25b4a53172bcfb5ceb3963
 create mode 100644 test/integration/stash/expected/repo/.git_keep/objects/8c/3123f6f4cee663b57398072df088c6f2dfeb9b
 rename test/integration/{stashPop => stash}/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 (100%)
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/a6/ada9f3d895e751ec289c69913a02146c0ca844
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b
 create mode 100644 test/integration/stash/expected/repo/.git_keep/objects/be/485112173592dea7b39c7efc3a6f52f43b71b9
 create mode 100644 test/integration/stash/expected/repo/.git_keep/objects/be/be684962b7b3a4d751f95173b31a051c7d46e7
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065
 delete mode 100644 test/integration/stash/expected/repo/.git_keep/objects/f3/48ff60bdbb3695f2f519db6bc115b1b8d50886
 create mode 100644 test/integration/stash/expected/repo/.git_keep/objects/f7/114350b59290905115d7918efe144eb2c62a76
 create mode 100644 test/integration/stash/expected/repo/file3
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/COMMIT_EDITMSG
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/FETCH_HEAD
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/HEAD
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/config
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/description
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/index
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/info/exclude
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/28/59c9a5f343c80929844d6e49d3792b9169c4da
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
 rename test/integration/{stash => stashAllChanges}/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68 (100%)
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/62/4317ac2731648d4b0e30068dd35aca2a0b4791
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/8f/a874178500f99d69f649ff9128f3d1b62369a0
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master
 create mode 100644 test/integration/stashAllChanges/expected/repo/file0
 create mode 100644 test/integration/stashAllChanges/expected/repo/file1
 create mode 100644 test/integration/stashAllChanges/expected/repo/file2
 create mode 100644 test/integration/stashAllChanges/expected/repo/file3
 create mode 100644 test/integration/stashAllChanges/recording.json
 create mode 100644 test/integration/stashAllChanges/setup.sh
 create mode 100644 test/integration/stashAllChanges/test.json
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/COMMIT_EDITMSG
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/FETCH_HEAD
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/HEAD
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/config
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/description
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/index
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/info/exclude
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/24/35f1f9565ecb370eb550f591d55179f1e9a7de
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/78/3b58a50bb867917c6a8a78ff18cadb3fdc771e
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e2/21db5981b482fb2110c8b283f48c08cd5f10c3
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e5/5d4f76f2b99c3b6b0c960725099ae54e34af70
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/file0
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/file1
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/file2
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/file3
 create mode 100644 test/integration/stashAllChangesKeepIndex/recording.json
 create mode 100644 test/integration/stashAllChangesKeepIndex/setup.sh
 create mode 100644 test/integration/stashAllChangesKeepIndex/test.json
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/logs/refs/stash
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/1c/88e069f3e318f1e0e02188cf65d360ab4eab67
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/1e/6f4a55f3dd26848238337763f249681ef9397b
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/1e/a8d05b2cbc972b48eae3181e846f82eeab50ef
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/6d/c07da80aed51d01a56a89ef37f4411adbd75c5
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/76/05fecac5dee01fb9df55ca984dcc7a72810f48
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/87/82cd42420de6a24264417d43d50ada9aa53ad5
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/8e/724d42465144007f28d45514537886f527eef9
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/a6/ed180e13649885eed39866051ca0e25c0ad6ac
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/c0/0c9eb1ae239494475772c3f3dbae5ea4169575
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/d2/2496528fe3c076a668c496ae7ba1f8136f1614
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/e0/61c8716830532562f919dcb125ea804f87ca2b
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/e5/cef1a548f3613b3e538bd0fc2b4ec88043fc25
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/f1/963e622e30276cf4e5880109ea475434d6f2ae
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/f4/f81b6542e98a2f80269449674b0f8f454b74b0
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/refs/stash
 create mode 100644 test/integration/stashDrop/expected/repo/file3
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/3a/e4e5d4920afbb1bac23426afb237524c8dbe41
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/43/7b9b0ca941f1e12c8b45958f5d6ebd11cdd41a
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/60/5615b78c181314a7a019e116647bfdf9127c94
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/82/cc524693ae9fb40af0ed8ab7e22581084dcd17
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/86/34432ef171aa4b8d8e688fc1e5645245bf36ac
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/8b/081dcb0e1fd5e9862d1aa6891b805b101abe7b
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/8b/d86c566a91e9f8ace9883f7017f562c971b3f7
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/a8/4a187f63b05bb43f19cfbc8bedab97ed33272d
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/b0/00623a052b4d2226c43ba396b830738799740e
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/c6/a8d49b926afc9ff2b4c64398ee678c50c2c953
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/e0/0e994a4acb98bcbe93ad478e09dcb3bed6b26c
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/FETCH_HEAD
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/HEAD
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/config
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/description
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/index
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/info/exclude
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/28/59c9a5f343c80929844d6e49d3792b9169c4da
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/515d20a02212d14a519d82917b791e01ebc659
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/d62bafdea9ceb4732326e82d4ce14196d7a032
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/40/62b34fff18c4453edded2da4f0737176daaa4d
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/4f/301f03a7f9c5a3c98aa219dd0f184afec3f248
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/54/fbb8276359cb6f68faa9cb7dcf58f93c838035
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b1/60a56c2580f8cc1e5432f32212f83395459997
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fe/0b6136ae74e574b3349fabbf0b89053c6a201e
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master
 create mode 100644 test/integration/stashStagedChanges/expected/repo/file0
 create mode 100644 test/integration/stashStagedChanges/expected/repo/file1
 create mode 100644 test/integration/stashStagedChanges/expected/repo/file2
 create mode 100644 test/integration/stashStagedChanges/expected/repo/file3
 create mode 100644 test/integration/stashStagedChanges/recording.json
 create mode 100644 test/integration/stashStagedChanges/setup.sh
 create mode 100644 test/integration/stashStagedChanges/test.json
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/FETCH_HEAD
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/HEAD
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/config
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/description
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/index
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/info/exclude
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/74/244487ab29dc413ae1f98e4fa40256a0787212
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/84/988130b443577e2afc62d4103f92fcbed33add
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c2/71c5cc28c056383278c655b4e227fa69b06073
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c8/84f894908d3042f54995005b8e3445958b2fcc
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/file0
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/file1
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/file2
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/file3
 create mode 100644 test/integration/stashUnstagedChanges/recording.json
 create mode 100644 test/integration/stashUnstagedChanges/setup.sh
 create mode 100644 test/integration/stashUnstagedChanges/test.json

diff --git a/pkg/commands/git_commands/stash.go b/pkg/commands/git_commands/stash.go
index 71b8f655b..c479d8610 100644
--- a/pkg/commands/git_commands/stash.go
+++ b/pkg/commands/git_commands/stash.go
@@ -53,7 +53,7 @@ func (self *StashCommands) StashAndKeepIndex(message string) error {
 }
 
 func (self *StashCommands) StashUnstagedChanges(message string) error {
-	if err := self.cmd.New("git commit -m \"WIP\"").Run(); err != nil {
+	if err := self.cmd.New("git commit --no-verify -m \"[lazygit] stashing unstaged changes\"").Run(); err != nil {
 		return err
 	}
 	if err := self.Save(message); err != nil {
diff --git a/test/integration/stash/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stash/expected/repo/.git_keep/ORIG_HEAD
index 78e4eb58e..70b2d64a5 100644
--- a/test/integration/stash/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stash/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-f348ff60bdbb3695f2f519db6bc115b1b8d50886
+6b1f87e5b74cd77d755d213e0850f4de02b3cdce
diff --git a/test/integration/stash/expected/repo/.git_keep/config b/test/integration/stash/expected/repo/.git_keep/config
index 8ae104545..596ebaeb3 100644
--- a/test/integration/stash/expected/repo/.git_keep/config
+++ b/test/integration/stash/expected/repo/.git_keep/config
@@ -3,8 +3,6 @@
 	filemode = true
 	bare = false
 	logallrefupdates = true
-	ignorecase = true
-	precomposeunicode = true
 [user]
 	email = CI@example.com
 	name = CI
diff --git a/test/integration/stash/expected/repo/.git_keep/index b/test/integration/stash/expected/repo/.git_keep/index
index daebfa4ef6fda597412bbd7efb7150e89f3eec9d..1e08e259690c36f4254dfd74f5abaeaccb19eff3 100644
GIT binary patch
delta 93
zcmbQq)W&4s;u+-3z`(!+#LP*NToqQaSFK<)P)v&9!v$FehQ=j8=@%e8(I97Hn8d^!
mfr&@drP&yC4HXQyoE8T^Wl6Yow=8q&daDx?KmU}tw-Eq;*&adw

delta 147
zcmZo;n#p9~;u+-3z`(!+#LS8BV&8~K-mVAHA}j7qV`N}pWm5c|!obkDgn@zaD^QKd
zM1vd+ki5j##&!@bK5_F8sJb*{bwIUj6OX9tNirBK7;w$&Sk8OmhVG^H`>!&Vy{~xK
dp}a@Ozpbn7RqCT7S-WaNLi3lcsVX==1pwY5HckKl

diff --git a/test/integration/stash/expected/repo/.git_keep/info/exclude b/test/integration/stash/expected/repo/.git_keep/info/exclude
index 8e9f2071f..a5196d1be 100644
--- a/test/integration/stash/expected/repo/.git_keep/info/exclude
+++ b/test/integration/stash/expected/repo/.git_keep/info/exclude
@@ -4,4 +4,3 @@
 # exclude patterns (uncomment them if you want to use them):
 # *.[oa]
 # *~
-.DS_Store
diff --git a/test/integration/stash/expected/repo/.git_keep/logs/HEAD b/test/integration/stash/expected/repo/.git_keep/logs/HEAD
index f95cf06ac..d7185f04d 100644
--- a/test/integration/stash/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stash/expected/repo/.git_keep/logs/HEAD
@@ -1,6 +1,5 @@
-0000000000000000000000000000000000000000 a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b CI <CI@example.com> 1643011553 +1100	commit (initial): file0
-a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b 4cc838ea1466afc5be1d3bc3e7a937641ec84d7d CI <CI@example.com> 1643011553 +1100	commit: file1
-4cc838ea1466afc5be1d3bc3e7a937641ec84d7d f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011553 +1100	commit: file2
-f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011556 +1100	reset: moving to HEAD
-f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011556 +1100	reset: moving to HEAD
-f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011558 +1100	reset: moving to HEAD
+0000000000000000000000000000000000000000 8c3123f6f4cee663b57398072df088c6f2dfeb9b CI <CI@example.com> 1650002552 +0200	commit (initial): file0
+8c3123f6f4cee663b57398072df088c6f2dfeb9b f7114350b59290905115d7918efe144eb2c62a76 CI <CI@example.com> 1650002552 +0200	commit: file1
+f7114350b59290905115d7918efe144eb2c62a76 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002552 +0200	commit: file2
+6b1f87e5b74cd77d755d213e0850f4de02b3cdce 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002559 +0200	reset: moving to HEAD
+6b1f87e5b74cd77d755d213e0850f4de02b3cdce 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002567 +0200	reset: moving to HEAD
diff --git a/test/integration/stash/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stash/expected/repo/.git_keep/logs/refs/heads/master
index d1bf421f8..cacae4d5c 100644
--- a/test/integration/stash/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stash/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b CI <CI@example.com> 1643011553 +1100	commit (initial): file0
-a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b 4cc838ea1466afc5be1d3bc3e7a937641ec84d7d CI <CI@example.com> 1643011553 +1100	commit: file1
-4cc838ea1466afc5be1d3bc3e7a937641ec84d7d f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011553 +1100	commit: file2
+0000000000000000000000000000000000000000 8c3123f6f4cee663b57398072df088c6f2dfeb9b CI <CI@example.com> 1650002552 +0200	commit (initial): file0
+8c3123f6f4cee663b57398072df088c6f2dfeb9b f7114350b59290905115d7918efe144eb2c62a76 CI <CI@example.com> 1650002552 +0200	commit: file1
+f7114350b59290905115d7918efe144eb2c62a76 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002552 +0200	commit: file2
diff --git a/test/integration/stash/expected/repo/.git_keep/logs/refs/stash b/test/integration/stash/expected/repo/.git_keep/logs/refs/stash
index 3f07cf22e..bcf0a385b 100644
--- a/test/integration/stash/expected/repo/.git_keep/logs/refs/stash
+++ b/test/integration/stash/expected/repo/.git_keep/logs/refs/stash
@@ -1,2 +1 @@
-0000000000000000000000000000000000000000 e09b4dfcd66bfa1c81feeaf67e04d55368a2b065 CI <CI@example.com> 1643011556 +1100	On master: asd
-e09b4dfcd66bfa1c81feeaf67e04d55368a2b065 2efac8148440778cbddcd80ac7477981277dcffe CI <CI@example.com> 1643011558 +1100	On master: asd
+0000000000000000000000000000000000000000 be485112173592dea7b39c7efc3a6f52f43b71b9 CI <CI@example.com> 1650002559 +0200	On master: asd
diff --git a/test/integration/stash/expected/repo/.git_keep/objects/25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc b/test/integration/stash/expected/repo/.git_keep/objects/25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc
deleted file mode 100644
index aab767a086e05e43391e8ca7089f727787fcb744..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmV;S0ABxi0gaA93c@fD06pgwdlw{|WVc%p5qjz~vQ2^o(@Krt^X<jE*I@=`T5Fvf
zIP4B>%NdBtxzH(lNl3_Kx$A9W4x++AqYt4gEan-vyfi32NGWVJse10IxI)+`Wt|X7
zQ6-TTVH4l&zHTs#a2dv1{>1ux<kPg)D<B7Ncbf!`h}N2&?o%!QshfF8`2*_$HNN)h
P{JVlOKe97ldgnk{;-5@j

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe b/test/integration/stash/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe
deleted file mode 100644
index 54545b630..000000000
--- a/test/integration/stash/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe
+++ /dev/null
@@ -1 +0,0 @@
-x��Aj1������4v)%�UV=�$˴Pg�ą��t����g{�b�O�p���F[`�X,�`L
˶eQMl�,y��.���5�����\��F�Te�H��J�3��H��:��!5E���R��[.nj�|�����^/׳�H�����
�g�2�B@\�:O�'_�o��1�ȣ���K�
\ No newline at end of file
diff --git a/test/integration/stash/expected/repo/.git_keep/objects/3b/29b35d4357f8e64cafd95140a70d7c9b25138a b/test/integration/stash/expected/repo/.git_keep/objects/3b/29b35d4357f8e64cafd95140a70d7c9b25138a
deleted file mode 100644
index 1b8805172a383685de99180dfbc10a7b583a5a5f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 162
zcmV;T0A2rh0gaA93c@fD06pgwdlw{WlkG-Cgr540Y?8%-X-kdJ=bMXnufq&XTuYfN
zbY?i!J!e2<j--7|K@#B*#rK_N;lYw+CJE%pT2fos^HM>2OCqQ_G56@5bmELpj2w+|
zY?zYMM5w~2KGz+_32x)`$VVvKD_`PT?qJaNy4eolY>d{b(Kc1{pSqftln+=JDB<0z
Q>+cF=e&tSm0rw<AJ%qtf!~g&Q

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d b/test/integration/stash/expected/repo/.git_keep/objects/4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d
deleted file mode 100644
index bc099c320aee7bfb2e74116c57a07b0d07611395..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcX03c^4PKw;N&irEV?ng4)@&{dC-W)dv4wv-V(zCD85$G3RAt?S$^
zpuhA(#5PwlGcr3QCh{$0owyJtZ9#l+IbzHa%ua{AyQR{aB%jp_232ykV$n&NJY!{v
zj;d0c41M}*JM1vp`!GJ`OY6SKjkon-A;;hVQVRA8;G8+@Io0J)ZggG*%nvf*I?q4i
BM}GhS

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/4f/9ff661c6c81b54d631d6d7c71399972e5c7a58 b/test/integration/stash/expected/repo/.git_keep/objects/4f/9ff661c6c81b54d631d6d7c71399972e5c7a58
new file mode 100644
index 000000000..258a8ab01
--- /dev/null
+++ b/test/integration/stash/expected/repo/.git_keep/objects/4f/9ff661c6c81b54d631d6d7c71399972e5c7a58
@@ -0,0 +1,2 @@
+x��K
+1D]����I����<F>0�a����ƽۢ��K�ֹ�Ѽ�x�X\r6K0�68o%�#�cd-ev��5l�tpQ�B�m�̙��ѓ�',�&N)'Q��m��η�U>��O9�V/�!�!ǰ�q�F:���YW��m�^cu�YA��b��aA�
\ No newline at end of file
diff --git a/test/integration/stash/expected/repo/.git_keep/objects/6b/1f87e5b74cd77d755d213e0850f4de02b3cdce b/test/integration/stash/expected/repo/.git_keep/objects/6b/1f87e5b74cd77d755d213e0850f4de02b3cdce
new file mode 100644
index 0000000000000000000000000000000000000000..51688c4dc6e22ed2ed38958764aa6667917b5f11
GIT binary patch
literal 148
zcmV;F0Biqv0gcX03c@fDKw;N8MfQTsOgqU0M1-z-jQmWn(AZKUczk;Vw~ue}^48kY
zEe5*uL)8Wqi5^OpB2)^+nrdM{@3eYR6rmwy%4Uy;zPqg+aU2*D2MQ2?5xMw)qE&Gm
zHBojHy)*ICU)y1)+1{u5so&W4Rd0D~4~vcgfSAc%fdI@|&#A6|a#NR8$@~CKYB=sM
CwMP&D

literal 0
HcmV?d00001

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/81/f9f45d5eca6c23bf25b4a53172bcfb5ceb3963 b/test/integration/stash/expected/repo/.git_keep/objects/81/f9f45d5eca6c23bf25b4a53172bcfb5ceb3963
new file mode 100644
index 000000000..b2cb857d0
--- /dev/null
+++ b/test/integration/stash/expected/repo/.git_keep/objects/81/f9f45d5eca6c23bf25b4a53172bcfb5ceb3963
@@ -0,0 +1,2 @@
+x���
+�0E]�+f/�$�c*"BW��<&X0M���f�����‰�������vf�6�H8��s"�b�!�I�@��HZ����kd&Ǧ�19��1IɁ�f�Ub�,��=���i~�����K���DTƌpF�(:�Q���Ų&>��P�����*�ˋ���Bf
\ No newline at end of file
diff --git a/test/integration/stash/expected/repo/.git_keep/objects/8c/3123f6f4cee663b57398072df088c6f2dfeb9b b/test/integration/stash/expected/repo/.git_keep/objects/8c/3123f6f4cee663b57398072df088c6f2dfeb9b
new file mode 100644
index 000000000..0ae4c30f4
--- /dev/null
+++ b/test/integration/stash/expected/repo/.git_keep/objects/8c/3123f6f4cee663b57398072df088c6f2dfeb9b
@@ -0,0 +1,3 @@
+x��A
+�0Fa�9�����Ԁ��U��4��)z��n��պt����dq�R!'��������hP��6'z��{�����Y�Y���0�����?�)�
+6֒+�
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 b/test/integration/stash/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
similarity index 100%
rename from test/integration/stashPop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
rename to test/integration/stash/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
diff --git a/test/integration/stash/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c b/test/integration/stash/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c
deleted file mode 100644
index 539f9791905e17d0a85ce5884381ce25c523a355..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 107
zcmV-x0F?iD0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
zTSy8F8J6yO{8u&g#+QiDD4u+$3jtm&-B*zm7%?0_e#<81MUGLyr{r0}mCx!#I;FFa
N6c}Sw005AMIi$QpFR=gs

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/a6/ada9f3d895e751ec289c69913a02146c0ca844 b/test/integration/stash/expected/repo/.git_keep/objects/a6/ada9f3d895e751ec289c69913a02146c0ca844
deleted file mode 100644
index 0cdd88ea01086a9f483371d5a3ed867a033a7df4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmV;w06_nE0gaElY6LM1MN`jLs1F3ow)|K^2y8W7y3~>_k%jfnGI1cEpJ}#FdpY;O
zY1<f=2|oF!xvK&-waTWPIOJZcRZr@pie==kO;YG+E-!c9^)|smEN00`7YV77c_XY{
zk~BmTl+wwSk{)~zUnNkFfwC1%v9a|^7#(NVbF1PBL*a#g=GV5vd4<>W`mVn`?pJ+j
t+js*^F}TA{37!$1TaNXJnEFqA`CLC>yTRb^<8yj6fL*TY{{SjyPcu(sUbFxJ

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b b/test/integration/stash/expected/repo/.git_keep/objects/a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b
deleted file mode 100644
index 9dcd075d6e7cddcfdb4fbf70e13e4b441151aa9a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{NhYZQ5uvLdBWeC%p`oQj@c8x!ZXX}Kd24Oy
zB&wHw03>h-Lyj?)EPe>72*CGTwX)5n+6axR)}&8=ZwHMNJ;v#UZ)*FB+q|_WNl?ck
Y-aERAFq^ZUla4>RsmlsBKi88h)?zI;=>Px#

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/be/485112173592dea7b39c7efc3a6f52f43b71b9 b/test/integration/stash/expected/repo/.git_keep/objects/be/485112173592dea7b39c7efc3a6f52f43b71b9
new file mode 100644
index 0000000000000000000000000000000000000000..59e0babdb1d0242a3ea6b2cde865d31a32e092b3
GIT binary patch
literal 184
zcmV;p07w6L0gcbQY6C$Gh2hlu6w@1mMl+gA2*KdWRh~f_NhFZ*n)L?q_}M0X+QSEj
zf2?zU?g4Xq+BdU6!@RQ_7fw}M_l{(kO}s`{8&Z-+hq~N(v)dkuL~qqdY93mvRwBii
z3>txFH9$#2hyD2$y?Z7l8(an^aU{u1DOQx>a{No`B`y5Df2>=$T*K?-dbS^)_b+=M
m>wF8b5C9-i4<|r?<yeo1-Tuj!_gk3!IQ&cChyDU(;Y=@}(O9AY

literal 0
HcmV?d00001

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/be/be684962b7b3a4d751f95173b31a051c7d46e7 b/test/integration/stash/expected/repo/.git_keep/objects/be/be684962b7b3a4d751f95173b31a051c7d46e7
new file mode 100644
index 0000000000000000000000000000000000000000..99d6b4097417d11fc38acb9c011eeb2f27560571
GIT binary patch
literal 182
zcmV;n07?IN0gcbQY6CG4K+)9u73vLP^q3hbgkW&xD&HW@g9IY4S#KbppKa2oy`1LC
zI_KveQmIe-W)@J)TX*Z!Giz<$5?U%YoMTs$L0O{%FZaILZ4We}S2i46M46QlHN|XD
z5xl5D8d+5A&lhj*L{Ug;99WccR8kg>xwXd0P`G1V`uF~^ZsBqbub1oDe)_zB*|V(k
kEkr^9NJtz`kN}pW9uvF$lP~YLF#F^1FQGs57X#i)V9-ie@&Et;

literal 0
HcmV?d00001

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065 b/test/integration/stash/expected/repo/.git_keep/objects/e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065
deleted file mode 100644
index f57ce417b7d66e70e33708d0443088b0af141a69..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 184
zcmV;p07w6L0gcZ+YD6&%1mM)~6z&&-e<WEBAuMdQRn8#U774`rmbVV%_;Hgy?eH<f
z)P0Q4=_2scJbHITs+E1IO{_8HY9&RlrWqJi*@O!N@OGD@-=?z!Y(`$2YNCP`4MS;4
zT0=k$$_+g;{rRM^Xu<{wvvDV=Yo}lUFWI+Ti$)BIWs~puu^;Yob+4D}x&O$xfA#0O
mk2e<xl3(pe?i7Oe+e+7o+5gG6_nRB?SpLPyqx}M5T}qbSJzZu1

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/f3/48ff60bdbb3695f2f519db6bc115b1b8d50886 b/test/integration/stash/expected/repo/.git_keep/objects/f3/48ff60bdbb3695f2f519db6bc115b1b8d50886
deleted file mode 100644
index 8faee1fcd666d7a3fde6a931ebaa2942a53dc5af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcX03c@fDKw;N8MfQSZ@;e0)p{pKaIy1pSV@rwP@$C`ZKEB1{t+l0F
z82qIls&-IBDoz*$y@;neS4j>^)>=>j(TABmo1G4QcN>{8pc2HKsdAbX<OD$r4WZ-+
z${3}Hp-+EphaD$-AE&2&sqL%Ycxw*}IR*!iQm|J5=ge8psjh!=Q<qh}`2h{CI(fJ?
BK@9)^

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/f7/114350b59290905115d7918efe144eb2c62a76 b/test/integration/stash/expected/repo/.git_keep/objects/f7/114350b59290905115d7918efe144eb2c62a76
new file mode 100644
index 0000000000000000000000000000000000000000..734e0f0c14a9faa17bfa454c412b84781c638278
GIT binary patch
literal 147
zcmV;E0Brww0gaA93d0}}0DJZo-V0@2byX;(kW-$a>q-N$3Bf|2-#nqWVVJ}4*84KF
zNq8BDh^`QbIWa@ZoHJHSt#HW6w`v6~kV}r7QF}h*J#=Ji&^Bt0MTl(i!KMfSYl9e>
z+6hupQTa1o+o7jf->3O0-`w|AZoKt}Hsk>Sy+?fo1W>0vr-uBQtG29S)DOH*Io^5^
BMk)XR

literal 0
HcmV?d00001

diff --git a/test/integration/stash/expected/repo/.git_keep/refs/heads/master b/test/integration/stash/expected/repo/.git_keep/refs/heads/master
index 78e4eb58e..70b2d64a5 100644
--- a/test/integration/stash/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stash/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-f348ff60bdbb3695f2f519db6bc115b1b8d50886
+6b1f87e5b74cd77d755d213e0850f4de02b3cdce
diff --git a/test/integration/stash/expected/repo/.git_keep/refs/stash b/test/integration/stash/expected/repo/.git_keep/refs/stash
index 9123248e5..e627ae765 100644
--- a/test/integration/stash/expected/repo/.git_keep/refs/stash
+++ b/test/integration/stash/expected/repo/.git_keep/refs/stash
@@ -1 +1 @@
-2efac8148440778cbddcd80ac7477981277dcffe
+be485112173592dea7b39c7efc3a6f52f43b71b9
diff --git a/test/integration/stash/expected/repo/file2 b/test/integration/stash/expected/repo/file2
index 180cf8328..c7c7da3c6 100644
--- a/test/integration/stash/expected/repo/file2
+++ b/test/integration/stash/expected/repo/file2
@@ -1 +1 @@
-test2
+hello there
diff --git a/test/integration/stash/expected/repo/file3 b/test/integration/stash/expected/repo/file3
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stash/expected/repo/file3
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stash/recording.json b/test/integration/stash/recording.json
index 48fc35158..cefefc363 100644
--- a/test/integration/stash/recording.json
+++ b/test/integration/stash/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":809,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1369,"Mod":0,"Key":256,"Ch":83},{"Timestamp":1713,"Mod":0,"Key":258,"Ch":0},{"Timestamp":2087,"Mod":0,"Key":13,"Ch":13},{"Timestamp":2376,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2440,"Mod":0,"Key":256,"Ch":115},{"Timestamp":2512,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2793,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3498,"Mod":0,"Key":258,"Ch":0},{"Timestamp":4113,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4785,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5145,"Mod":0,"Key":256,"Ch":97},{"Timestamp":5183,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5249,"Mod":0,"Key":256,"Ch":100},{"Timestamp":5609,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6216,"Mod":0,"Key":259,"Ch":0},{"Timestamp":6457,"Mod":0,"Key":259,"Ch":0},{"Timestamp":6728,"Mod":0,"Key":259,"Ch":0},{"Timestamp":7098,"Mod":0,"Key":258,"Ch":0},{"Timestamp":7408,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8080,"Mod":0,"Key":13,"Ch":13},{"Timestamp":8752,"Mod":0,"Key":260,"Ch":0},{"Timestamp":8952,"Mod":0,"Key":260,"Ch":0},{"Timestamp":9145,"Mod":0,"Key":260,"Ch":0},{"Timestamp":9904,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":1303,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1922,"Mod":0,"Key":256,"Ch":83},{"Timestamp":5480,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6417,"Mod":0,"Key":256,"Ch":97},{"Timestamp":6506,"Mod":0,"Key":256,"Ch":115},{"Timestamp":6549,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6874,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7610,"Mod":0,"Key":256,"Ch":53},{"Timestamp":9010,"Mod":0,"Key":256,"Ch":32},{"Timestamp":10032,"Mod":0,"Key":13,"Ch":13},{"Timestamp":10900,"Mod":0,"Key":256,"Ch":50},{"Timestamp":11662,"Mod":0,"Key":256,"Ch":107},{"Timestamp":12360,"Mod":0,"Key":256,"Ch":32},{"Timestamp":12902,"Mod":0,"Key":256,"Ch":115},{"Timestamp":13687,"Mod":0,"Key":256,"Ch":97},{"Timestamp":13772,"Mod":0,"Key":256,"Ch":115},{"Timestamp":13837,"Mod":0,"Key":256,"Ch":100},{"Timestamp":14294,"Mod":0,"Key":13,"Ch":13},{"Timestamp":15489,"Mod":0,"Key":256,"Ch":53},{"Timestamp":16960,"Mod":0,"Key":256,"Ch":103},{"Timestamp":17726,"Mod":0,"Key":13,"Ch":13},{"Timestamp":18592,"Mod":0,"Key":256,"Ch":50},{"Timestamp":19603,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration/stashAllChanges/expected/repo/.git_keep/COMMIT_EDITMSG
new file mode 100644
index 000000000..6c493ff74
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/COMMIT_EDITMSG
@@ -0,0 +1 @@
+file2
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/FETCH_HEAD b/test/integration/stashAllChanges/expected/repo/.git_keep/FETCH_HEAD
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/HEAD b/test/integration/stashAllChanges/expected/repo/.git_keep/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD
new file mode 100644
index 000000000..edd32295e
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD
@@ -0,0 +1 @@
+8fa874178500f99d69f649ff9128f3d1b62369a0
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/config b/test/integration/stashAllChanges/expected/repo/.git_keep/config
new file mode 100644
index 000000000..596ebaeb3
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/config
@@ -0,0 +1,8 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = false
+	logallrefupdates = true
+[user]
+	email = CI@example.com
+	name = CI
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/description b/test/integration/stashAllChanges/expected/repo/.git_keep/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/index b/test/integration/stashAllChanges/expected/repo/.git_keep/index
new file mode 100644
index 0000000000000000000000000000000000000000..afb46a953eb37c576b041edeb4b4040a888bbc26
GIT binary patch
literal 262
zcmZ?q402{*U|<4b=A=l@Z1xM;KVURaOp4*d!9@%VjZ1*iFCdtK%|gWL%7TAd+uj8q
zdf&P9=A*q+O>Z%<re)@&8UVH610Zt{VCkO6e^pa&e2EB+;>mZq5a89)eHCJkAwm&W
z7OFWCJU@&Yl=hu_xoS~(Re#GX?fDk!5Oa*cx<i6oU4aZX23<o111`;pt!3VYjRGb5
Pr`Oc?`#uWV^N=3^SdKv6

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/info/exclude b/test/integration/stashAllChanges/expected/repo/.git_keep/info/exclude
new file mode 100644
index 000000000..a5196d1be
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD
new file mode 100644
index 000000000..c920669ff
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD
@@ -0,0 +1,6 @@
+0000000000000000000000000000000000000000 29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 CI <CI@example.com> 1650002283 +0200	commit (initial): file0
+29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 624317ac2731648d4b0e30068dd35aca2a0b4791 CI <CI@example.com> 1650002283 +0200	commit: file1
+624317ac2731648d4b0e30068dd35aca2a0b4791 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002283 +0200	commit: file2
+8fa874178500f99d69f649ff9128f3d1b62369a0 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002287 +0200	reset: moving to HEAD
+8fa874178500f99d69f649ff9128f3d1b62369a0 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002295 +0200	reset: moving to HEAD
+8fa874178500f99d69f649ff9128f3d1b62369a0 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002303 +0200	reset: moving to HEAD
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..89fb0a652
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master
@@ -0,0 +1,3 @@
+0000000000000000000000000000000000000000 29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 CI <CI@example.com> 1650002283 +0200	commit (initial): file0
+29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 624317ac2731648d4b0e30068dd35aca2a0b4791 CI <CI@example.com> 1650002283 +0200	commit: file1
+624317ac2731648d4b0e30068dd35aca2a0b4791 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002283 +0200	commit: file2
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
new file mode 100644
index 0000000000000000000000000000000000000000..f74bf2335bbc5999ad0faff94fb04165d8ab5c7d
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@DUS(>~ZE#08nZNMgRZ+

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
new file mode 100644
index 0000000000000000000000000000000000000000..79fcadf67fdecb0f0cffca7ff27b2ae5c031e4d7
GIT binary patch
literal 50
zcmV-20L}k+0V^p=O;s>9W-v4`Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
I033l4YT~68jQ{`u

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/28/59c9a5f343c80929844d6e49d3792b9169c4da b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/28/59c9a5f343c80929844d6e49d3792b9169c4da
new file mode 100644
index 0000000000000000000000000000000000000000..ea6cd38669c9f73920911d2efdafe0a5b6bad32b
GIT binary patch
literal 85
zcmV-b0IL6Z0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
rTSy8F8IB*nWs~wE$Ee^_@+{%XXLTZ-(pg9fj0h<(#;O1SVZb>0{5mDa

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7
new file mode 100644
index 000000000..efe9bb1f3
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7
@@ -0,0 +1,3 @@
+x��A
+�0F�s���d��R
+�<Fb�P��")x|=B���RKYY�[������O����<Ƭ�%�,�Uń_�ԝ�������w�c��E���,2vtga6W�&
r��
lN��+�
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
new file mode 100644
index 0000000000000000000000000000000000000000..06c9cb73d7a8ed6841ce407bd6bb15235c8fa15c
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@BtHp>|y2)08mZ`J^%m!

literal 0
HcmV?d00001

diff --git a/test/integration/stash/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68
similarity index 100%
rename from test/integration/stash/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68
rename to test/integration/stashAllChanges/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
new file mode 100644
index 0000000000000000000000000000000000000000..6a6f2436255b8a831b87262c4d030c7d63af046b
GIT binary patch
literal 81
zcmV-X0IvUd0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
nND2%Yjvv2elky_RsNhrbEaA#$bt0Y8Sx5?uuqprm;XNz0$Rj03

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/62/4317ac2731648d4b0e30068dd35aca2a0b4791 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/62/4317ac2731648d4b0e30068dd35aca2a0b4791
new file mode 100644
index 0000000000000000000000000000000000000000..0a30073de843cf0a495948d842f1c666218099cd
GIT binary patch
literal 147
zcmV;E0Brww0gcX03c@fDKw;N8MfQTsOqxF^B6QVb#F+^e8e2*Pk8h9Q_VFzqZ>=re
zVx~(!RINY^%$XT-;ZjIks85b1`zlV!K^XE71~hv)^xZ9G^&(s~0TXI<lBK2?1u;5F
zg4G9Mji!A1Ydh>T+i{v7`Yml=^~PJfTMQlmh?28cAOLgLbE@l~+|*@NG(QW^I&mx|
BKpFr5

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578
new file mode 100644
index 000000000..9727c4ec6
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578
@@ -0,0 +1,2 @@
+x��A
+� E���/�q�QK)��r�b�����n���XK�������
��+��l���Ȭ��XAim3;��--
\�ji�A��G�����KrYE90)�Ex�gݠ����������2�r��"�7pFB=�Z�s.�%��%�����<͉���?J
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4
new file mode 100644
index 000000000..1a811f4f1
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4
@@ -0,0 +1,3 @@
+x�ϻJA�a�y����{����F>CMw+L�,3-��vbnz���׽��.��q�B�j,����V��EuAW�$M�|#ü<����bRr�\"�1�Ė�1�b����Ă�U����JE���r6�5(�F5��|��~��
+o���Hl�R����:W2<�C\�:#���/�w�rN�
+���m���Mq
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e
new file mode 100644
index 000000000..0c987fc11
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e
@@ -0,0 +1 @@
+x���J1`�����3m#"ž��3�m�,lw���>����[���R��.(�C�Ua)j,��ǚؘ�Y�E'UK�:�8�e�[�d���bZ���0�;J6h����	["�D�xTV��B��)���g7�g_�Ngx9���[���Oek���C���	q�x��?��~�&���pt9V��������4hP�
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
new file mode 100644
index 0000000000000000000000000000000000000000..2a1928079869c5c79e37d717252c0b2c211d73fe
GIT binary patch
literal 100
zcmV-q0Gt1K0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF&saB%O>STj#0s<<XOU%&+0@vrLzF~
G7%X4x=`OSY

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/8f/a874178500f99d69f649ff9128f3d1b62369a0 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/8f/a874178500f99d69f649ff9128f3d1b62369a0
new file mode 100644
index 0000000000000000000000000000000000000000..4dea954a6a34dd4a4806c7e6e57317139b25eabb
GIT binary patch
literal 148
zcmV;F0Biqv0gcW<3d0}}K+&!}h5JGoN23!crI1yQF*+j+#3lp_J$`e9Za;7F%huY`
ztsC*u4^=xV5hsvBLMVb<bCm&Hidqw?BSN1G7PIrA?`|Uo?-CbG-o-!?GN=cLB;p4y
zj0`!X(HZ{q*LK)xw)bg%>X+NT>aA?;VO<;m0Fk`C0s@$`o>N`_<fbmGqWJ-D;W;+@
CYeF0V

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
new file mode 100644
index 0000000000000000000000000000000000000000..0e95eb06dda15fe1901a7942e7954b700b36bfa9
GIT binary patch
literal 101
zcmV-r0Gj`J0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF-Y+IFltcRckbn?Md4NbEw8laTc`s7
H>2WLwJR>kD

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
new file mode 100644
index 0000000000000000000000000000000000000000..285df3e5fbab12262e28d85e78af8a31cd0024c1
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@Cg%x>`~^A08nuUMF0Q*

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41
new file mode 100644
index 0000000000000000000000000000000000000000..617e1b1b7ef688369a10eb77fbf273ca8ae48cf0
GIT binary patch
literal 162
zcmV;T0A2rh0gaA93c@fDMP26<vlnENCX+-&1Xmto+RR|Vv{EB@e6w-y_VXX_O>3=l
z183u|Z6c6lM5T#*5q5~4DS6=#G>4SOXh$DPBqsCZO_l~pIYn<{3W%C>p{(SyYPK%v
zQ0z!<pv-9a-R|oK*BhL!w~KtZJ|A+J)_Mj@9Y#0c0DJ6G)7Ku=<j=dAmm(in7pVN|
Q)bUpZIzPmjFBthitbr{}TmS$7

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
new file mode 100644
index 0000000000000000000000000000000000000000..ee4385f12cb5e2fea6044749c3960a2c40be7b9e
GIT binary patch
literal 28
kcmb<m^geacKghr&>4eAGlPAM9PI~BiJ!N8W-osW20IwDcng9R*

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
new file mode 100644
index 000000000..2e9066287
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
@@ -0,0 +1,2 @@
+x+)JMU03c040031QH��I5`������ֶw���w.��h�T�[H
+��y�W5�Ɨ��(�|�^-�W(x9
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd
new file mode 100644
index 000000000..4379cd5d8
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd
@@ -0,0 +1 @@
+x�ϻJA�a�y��鮮��ZD��6��o��=�̴�o�$榇^{�Lc�P�f���,NQ��p%-aVL�Y3���e�4���,ѹ�ZX������c`5��9;͒HEH��)I����1�8�d��np�����Z���o�)��<gQ#<:tn:�#b���m�n��O�ۯ�ԯ����G-�=N^
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc
new file mode 100644
index 0000000000000000000000000000000000000000..9a5aa9571a31ac952308b2c56a2ab9ec1c6995f9
GIT binary patch
literal 161
zcmV;S0ABxi0gaA93c@fD06pgwdlzK0ZIg|N2tD-~X|jt2)0P^c&$k!vUWXZ&w3ISc
zAnQ+c6M-Pi(PK`WnR2G6qvj5+ccPxfGE*}qN@k6l%oSK8`__8y5H*DCg1R=S21~3>
zwxgrQg@`78>T}tkAK=yx57}c`Uvf!Hxr22_j703=jD%<odQ4UMQ#aF`Wrt;k65mI4
P{at}hFCp^<i!wo19n4C8

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master b/test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master
new file mode 100644
index 000000000..edd32295e
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master
@@ -0,0 +1 @@
+8fa874178500f99d69f649ff9128f3d1b62369a0
diff --git a/test/integration/stashAllChanges/expected/repo/file0 b/test/integration/stashAllChanges/expected/repo/file0
new file mode 100644
index 000000000..38143ad4a
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/file0
@@ -0,0 +1 @@
+test0
diff --git a/test/integration/stashAllChanges/expected/repo/file1 b/test/integration/stashAllChanges/expected/repo/file1
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/file1
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashAllChanges/expected/repo/file2 b/test/integration/stashAllChanges/expected/repo/file2
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/file2
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashAllChanges/expected/repo/file3 b/test/integration/stashAllChanges/expected/repo/file3
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/file3
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashAllChanges/recording.json b/test/integration/stashAllChanges/recording.json
new file mode 100644
index 000000000..85f2d1968
--- /dev/null
+++ b/test/integration/stashAllChanges/recording.json
@@ -0,0 +1 @@
+{"KeyEvents":[{"Timestamp":1107,"Mod":0,"Key":256,"Ch":83},{"Timestamp":1736,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2531,"Mod":0,"Key":256,"Ch":115},{"Timestamp":2623,"Mod":0,"Key":256,"Ch":116},{"Timestamp":2684,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2784,"Mod":0,"Key":256,"Ch":115},{"Timestamp":3312,"Mod":0,"Key":256,"Ch":104},{"Timestamp":3400,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3468,"Mod":0,"Key":256,"Ch":97},{"Timestamp":3583,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3716,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3913,"Mod":0,"Key":13,"Ch":13},{"Timestamp":4284,"Mod":0,"Key":256,"Ch":108},{"Timestamp":4420,"Mod":0,"Key":256,"Ch":108},{"Timestamp":4707,"Mod":0,"Key":256,"Ch":108},{"Timestamp":5231,"Mod":0,"Key":256,"Ch":103},{"Timestamp":5940,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6733,"Mod":0,"Key":256,"Ch":50},{"Timestamp":7944,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8694,"Mod":0,"Key":256,"Ch":83},{"Timestamp":9487,"Mod":0,"Key":256,"Ch":97},{"Timestamp":9952,"Mod":0,"Key":256,"Ch":115},{"Timestamp":10041,"Mod":0,"Key":256,"Ch":116},{"Timestamp":10092,"Mod":0,"Key":256,"Ch":97},{"Timestamp":10166,"Mod":0,"Key":256,"Ch":115},{"Timestamp":10253,"Mod":0,"Key":256,"Ch":104},{"Timestamp":10381,"Mod":0,"Key":256,"Ch":32},{"Timestamp":10610,"Mod":0,"Key":256,"Ch":110},{"Timestamp":10718,"Mod":0,"Key":256,"Ch":101},{"Timestamp":10869,"Mod":0,"Key":256,"Ch":119},{"Timestamp":10938,"Mod":0,"Key":256,"Ch":108},{"Timestamp":11071,"Mod":0,"Key":256,"Ch":121},{"Timestamp":11129,"Mod":0,"Key":256,"Ch":32},{"Timestamp":11279,"Mod":0,"Key":256,"Ch":116},{"Timestamp":11676,"Mod":0,"Key":256,"Ch":114},{"Timestamp":11753,"Mod":0,"Key":256,"Ch":97},{"Timestamp":11874,"Mod":0,"Key":256,"Ch":99},{"Timestamp":11984,"Mod":0,"Key":256,"Ch":107},{"Timestamp":12025,"Mod":0,"Key":256,"Ch":101},{"Timestamp":12125,"Mod":0,"Key":256,"Ch":100},{"Timestamp":12341,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12925,"Mod":0,"Key":256,"Ch":53},{"Timestamp":14343,"Mod":0,"Key":256,"Ch":103},{"Timestamp":14871,"Mod":0,"Key":13,"Ch":13},{"Timestamp":15775,"Mod":0,"Key":256,"Ch":50},{"Timestamp":16168,"Mod":0,"Key":256,"Ch":106},{"Timestamp":16308,"Mod":0,"Key":256,"Ch":106},{"Timestamp":16515,"Mod":0,"Key":256,"Ch":32},{"Timestamp":16850,"Mod":0,"Key":256,"Ch":107},{"Timestamp":17159,"Mod":0,"Key":256,"Ch":32},{"Timestamp":18125,"Mod":0,"Key":256,"Ch":83},{"Timestamp":18639,"Mod":0,"Key":256,"Ch":97},{"Timestamp":18972,"Mod":0,"Key":256,"Ch":115},{"Timestamp":19060,"Mod":0,"Key":256,"Ch":116},{"Timestamp":19168,"Mod":0,"Key":256,"Ch":97},{"Timestamp":19236,"Mod":0,"Key":256,"Ch":115},{"Timestamp":19405,"Mod":0,"Key":256,"Ch":104},{"Timestamp":19593,"Mod":0,"Key":256,"Ch":32},{"Timestamp":19857,"Mod":0,"Key":256,"Ch":119},{"Timestamp":19942,"Mod":0,"Key":256,"Ch":105},{"Timestamp":20012,"Mod":0,"Key":256,"Ch":116},{"Timestamp":20072,"Mod":0,"Key":256,"Ch":104},{"Timestamp":20128,"Mod":0,"Key":256,"Ch":32},{"Timestamp":20188,"Mod":0,"Key":256,"Ch":115},{"Timestamp":20251,"Mod":0,"Key":256,"Ch":116},{"Timestamp":20335,"Mod":0,"Key":256,"Ch":97},{"Timestamp":20432,"Mod":0,"Key":256,"Ch":103},{"Timestamp":20471,"Mod":0,"Key":256,"Ch":101},{"Timestamp":20606,"Mod":0,"Key":256,"Ch":100},{"Timestamp":20789,"Mod":0,"Key":13,"Ch":13},{"Timestamp":21429,"Mod":0,"Key":256,"Ch":53},{"Timestamp":22402,"Mod":0,"Key":256,"Ch":103},{"Timestamp":23066,"Mod":0,"Key":13,"Ch":13},{"Timestamp":24259,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24394,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24532,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24793,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/setup.sh b/test/integration/stashAllChanges/setup.sh
new file mode 100644
index 000000000..caff56b7d
--- /dev/null
+++ b/test/integration/stashAllChanges/setup.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+set -e
+
+cd $1
+
+git init
+
+git config user.email "CI@example.com"
+git config user.name "CI"
+
+echo test0 > file0
+git add .
+git commit -am file0
+
+echo test1 > file1
+git add .
+git commit -am file1
+
+echo test2 > file2
+git add .
+git commit -am file2
+
+echo "hello there" > file1
+echo "hello there" > file2
+echo "hello there" > file3
diff --git a/test/integration/stashAllChanges/test.json b/test/integration/stashAllChanges/test.json
new file mode 100644
index 000000000..645b63f7f
--- /dev/null
+++ b/test/integration/stashAllChanges/test.json
@@ -0,0 +1 @@
+{ "description": "Stashing all files", "speed": 5 }
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/COMMIT_EDITMSG
new file mode 100644
index 000000000..6c493ff74
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/COMMIT_EDITMSG
@@ -0,0 +1 @@
+file2
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/FETCH_HEAD b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/FETCH_HEAD
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/HEAD b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD
new file mode 100644
index 000000000..98460a0ae
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD
@@ -0,0 +1 @@
+e55d4f76f2b99c3b6b0c960725099ae54e34af70
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/config b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/config
new file mode 100644
index 000000000..596ebaeb3
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/config
@@ -0,0 +1,8 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = false
+	logallrefupdates = true
+[user]
+	email = CI@example.com
+	name = CI
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/description b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/index b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/index
new file mode 100644
index 0000000000000000000000000000000000000000..e633e1ab156d53457f4f434db14ccefdb69e6d08
GIT binary patch
literal 262
zcmZ?q402{*U|<4b=A=l@Q}S8AYG5=_Op4*d(OV1*jZ1*iFCdtK%|gWL%7TAd+uj8q
zdf&P9=A*q+O>Z%<re)@&8UVH610Zt{VCkO6e^pa&e2EB+;>mZq5a89)eHCJkAwm&W
z7OFWCJU@&Yl=hu_xoS~(Re#GX?fDk!5Oa*cx<i6oU4aZX23<o11FnUex4hwuz4pE5
Q=_`?6(OV64cZr+=0Q%%Zpa1{>

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/info/exclude b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/info/exclude
new file mode 100644
index 000000000..a5196d1be
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD
new file mode 100644
index 000000000..26e835cdd
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD
@@ -0,0 +1,4 @@
+0000000000000000000000000000000000000000 783b58a50bb867917c6a8a78ff18cadb3fdc771e CI <CI@example.com> 1650002378 +0200	commit (initial): file0
+783b58a50bb867917c6a8a78ff18cadb3fdc771e e221db5981b482fb2110c8b283f48c08cd5f10c3 CI <CI@example.com> 1650002378 +0200	commit: file1
+e221db5981b482fb2110c8b283f48c08cd5f10c3 e55d4f76f2b99c3b6b0c960725099ae54e34af70 CI <CI@example.com> 1650002378 +0200	commit: file2
+e55d4f76f2b99c3b6b0c960725099ae54e34af70 e55d4f76f2b99c3b6b0c960725099ae54e34af70 CI <CI@example.com> 1650002384 +0200	reset: moving to HEAD
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..3032aa450
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master
@@ -0,0 +1,3 @@
+0000000000000000000000000000000000000000 783b58a50bb867917c6a8a78ff18cadb3fdc771e CI <CI@example.com> 1650002378 +0200	commit (initial): file0
+783b58a50bb867917c6a8a78ff18cadb3fdc771e e221db5981b482fb2110c8b283f48c08cd5f10c3 CI <CI@example.com> 1650002378 +0200	commit: file1
+e221db5981b482fb2110c8b283f48c08cd5f10c3 e55d4f76f2b99c3b6b0c960725099ae54e34af70 CI <CI@example.com> 1650002378 +0200	commit: file2
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
new file mode 100644
index 0000000000000000000000000000000000000000..f74bf2335bbc5999ad0faff94fb04165d8ab5c7d
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@DUS(>~ZE#08nZNMgRZ+

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
new file mode 100644
index 0000000000000000000000000000000000000000..79fcadf67fdecb0f0cffca7ff27b2ae5c031e4d7
GIT binary patch
literal 50
zcmV-20L}k+0V^p=O;s>9W-v4`Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
I033l4YT~68jQ{`u

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/24/35f1f9565ecb370eb550f591d55179f1e9a7de b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/24/35f1f9565ecb370eb550f591d55179f1e9a7de
new file mode 100644
index 0000000000000000000000000000000000000000..63c3eaa1198f3cb074564e50b11a007b48ce9393
GIT binary patch
literal 161
zcmV;S0ABxi0gaB!3c@fD06pg`_Abaa?}&)dQ$Hh{Y_MROQX};9?Zvy-VFo6(TIUXO
zaHqa8gSAA-V@Nrc?5#^BD2Y_aX|IWVi9UF(y;$SMO9wV4>*8#Y6hcyD2~)7>q`?p(
z8_i0`;!wm-f3^+A32x)`;62v$#h29T9R_O<Q7W(Dj1o~C^qA`Wr!M9t^A2r+8sA5C
P{arzsUo6EJz<oj7ybVuV

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
new file mode 100644
index 0000000000000000000000000000000000000000..06c9cb73d7a8ed6841ce407bd6bb15235c8fa15c
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@BtHp>|y2)08mZ`J^%m!

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
new file mode 100644
index 0000000000000000000000000000000000000000..6a6f2436255b8a831b87262c4d030c7d63af046b
GIT binary patch
literal 81
zcmV-X0IvUd0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
nND2%Yjvv2elky_RsNhrbEaA#$bt0Y8Sx5?uuqprm;XNz0$Rj03

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
new file mode 100644
index 000000000..c84b87a17
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
@@ -0,0 +1,3 @@
+x+)JMU��d040031QH��I5`������ֶw���w.��h�T�[H
+��e��"Ǩ�S�,��gu"��YH
+�$x~5(�;�rբ���W��-�Ж+^
\ No newline at end of file
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/78/3b58a50bb867917c6a8a78ff18cadb3fdc771e b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/78/3b58a50bb867917c6a8a78ff18cadb3fdc771e
new file mode 100644
index 0000000000000000000000000000000000000000..620eb2ec8aa70787cf382552416af5d741428b91
GIT binary patch
literal 119
zcmV--0Eqv10gcT;3c@fDMq$@E#q0%{NvBBzB0^U^M$-JjLPMlP@c8x!ZXX}Kwbi<H
z64gsT01^yvK7|l+lF_@E1>h+aEo@URHb8@_HSyD5?Vx#~`@B5yjrG0bwzm2paU(O^
Z!B2E$%WTeiPCEYNrffUd`~cWoE8LbTIoSXJ

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c
new file mode 100644
index 000000000..f22bfcca1
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c
@@ -0,0 +1 @@
+x�ϻj1�����at�B0�r�gIg�I��Z?~�I���q�o�<߆�Oc7��A���Ob!�Z���j���i��p`��J�PEZ��R�L%0�(8!&�B>���M8�q�2����싘�h��g|���\���z�C��/m�ߝ�LD!��{�@4�1�O>},n���_���������M�
\ No newline at end of file
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
new file mode 100644
index 0000000000000000000000000000000000000000..0e95eb06dda15fe1901a7942e7954b700b36bfa9
GIT binary patch
literal 101
zcmV-r0Gj`J0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF-Y+IFltcRckbn?Md4NbEw8laTc`s7
H>2WLwJR>kD

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
new file mode 100644
index 0000000000000000000000000000000000000000..285df3e5fbab12262e28d85e78af8a31cd0024c1
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@Cg%x>`~^A08nuUMF0Q*

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
new file mode 100644
index 0000000000000000000000000000000000000000..ee4385f12cb5e2fea6044749c3960a2c40be7b9e
GIT binary patch
literal 28
kcmb<m^geacKghr&>4eAGlPAM9PI~BiJ!N8W-osW20IwDcng9R*

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
new file mode 100644
index 000000000..2e9066287
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
@@ -0,0 +1,2 @@
+x+)JMU03c040031QH��I5`������ֶw���w.��h�T�[H
+��y�W5�Ɨ��(�|�^-�W(x9
\ No newline at end of file
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e2/21db5981b482fb2110c8b283f48c08cd5f10c3 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e2/21db5981b482fb2110c8b283f48c08cd5f10c3
new file mode 100644
index 0000000000000000000000000000000000000000..346dbdc7d917693747ad382ef628e7149cb667b4
GIT binary patch
literal 148
zcmV;F0Biqv0gcW<3d0}}K+&!}h5JGoH988V6tc=O#&M*9*aWfA<2Og>_VX5>_tw^-
zO|qBKMRWlS%!wHiF_A4U)XYf9*W$!F2veHEWYj@j-a}(_*+=q_a}1aaa-c{UYc-Ln
zWLFC#8d3Bauf6Me(f4_I%9q-)$&L5+&?a~QunwcXf(1}#J*S5J$yHr9G3p1=O*$CJ
C7f1vE

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e5/5d4f76f2b99c3b6b0c960725099ae54e34af70 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e5/5d4f76f2b99c3b6b0c960725099ae54e34af70
new file mode 100644
index 0000000000000000000000000000000000000000..5db9016237d1f9d0490bdb311233ef3d6be1f7f8
GIT binary patch
literal 147
zcmV;E0Brww0gcW<3d0}}K+&!}h5JI88DpG4DTS<Z3>`-rh&2QYJ$`e9ZXbW~rPaE2
zixXY?p=u{(jsdc8X3CjjNhN#0Flq^`$V@H?iP__!?{1X{bMg~o8kkBVL=aBIt_&=|
zl6^VFnfU3icG!8b_j!5hH`aaAo3#3{IC=me7ua5b0L-c9RM$UqQ`Sw%`~avSIjWNc
BL}UN}

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master
new file mode 100644
index 000000000..98460a0ae
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master
@@ -0,0 +1 @@
+e55d4f76f2b99c3b6b0c960725099ae54e34af70
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/file0 b/test/integration/stashAllChangesKeepIndex/expected/repo/file0
new file mode 100644
index 000000000..38143ad4a
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/file0
@@ -0,0 +1 @@
+test0
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/file1 b/test/integration/stashAllChangesKeepIndex/expected/repo/file1
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/file1
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/file2 b/test/integration/stashAllChangesKeepIndex/expected/repo/file2
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/file2
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/file3 b/test/integration/stashAllChangesKeepIndex/expected/repo/file3
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/file3
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashAllChangesKeepIndex/recording.json b/test/integration/stashAllChangesKeepIndex/recording.json
new file mode 100644
index 000000000..353ca2ae6
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/recording.json
@@ -0,0 +1 @@
+{"KeyEvents":[{"Timestamp":1343,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1895,"Mod":0,"Key":256,"Ch":83},{"Timestamp":3116,"Mod":0,"Key":256,"Ch":105},{"Timestamp":4389,"Mod":0,"Key":256,"Ch":107},{"Timestamp":4458,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4571,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4656,"Mod":0,"Key":256,"Ch":112},{"Timestamp":4742,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4834,"Mod":0,"Key":256,"Ch":105},{"Timestamp":4908,"Mod":0,"Key":256,"Ch":110},{"Timestamp":4965,"Mod":0,"Key":256,"Ch":100},{"Timestamp":5013,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5162,"Mod":0,"Key":256,"Ch":120},{"Timestamp":5500,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6822,"Mod":0,"Key":256,"Ch":53},{"Timestamp":8093,"Mod":0,"Key":256,"Ch":103},{"Timestamp":8985,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9950,"Mod":0,"Key":256,"Ch":49},{"Timestamp":10588,"Mod":0,"Key":256,"Ch":106},{"Timestamp":11171,"Mod":0,"Key":256,"Ch":50},{"Timestamp":11581,"Mod":0,"Key":256,"Ch":32},{"Timestamp":12392,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
diff --git a/test/integration/stashAllChangesKeepIndex/setup.sh b/test/integration/stashAllChangesKeepIndex/setup.sh
new file mode 100644
index 000000000..caff56b7d
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/setup.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+set -e
+
+cd $1
+
+git init
+
+git config user.email "CI@example.com"
+git config user.name "CI"
+
+echo test0 > file0
+git add .
+git commit -am file0
+
+echo test1 > file1
+git add .
+git commit -am file1
+
+echo test2 > file2
+git add .
+git commit -am file2
+
+echo "hello there" > file1
+echo "hello there" > file2
+echo "hello there" > file3
diff --git a/test/integration/stashAllChangesKeepIndex/test.json b/test/integration/stashAllChangesKeepIndex/test.json
new file mode 100644
index 000000000..4f9314caa
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/test.json
@@ -0,0 +1 @@
+{ "description": "Stashing some files", "speed": 5 }
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD
index 0a7c9cc2b..7bd761f02 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-d22496528fe3c076a668c496ae7ba1f8136f1614
+f1963e622e30276cf4e5880109ea475434d6f2ae
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/config b/test/integration/stashDrop/expected/repo/.git_keep/config
index 8ae104545..596ebaeb3 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/config
+++ b/test/integration/stashDrop/expected/repo/.git_keep/config
@@ -3,8 +3,6 @@
 	filemode = true
 	bare = false
 	logallrefupdates = true
-	ignorecase = true
-	precomposeunicode = true
 [user]
 	email = CI@example.com
 	name = CI
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/index b/test/integration/stashDrop/expected/repo/.git_keep/index
index 44fe0833f00a2c28f28ec4f13a6c54417fa26b2e..8256e1e361ac97a49ad43baf8076b6bed053e829 100644
GIT binary patch
delta 136
zcmZo;YGX2R@eFciU|?VZV&<esE?q+>X<--*6q923a7LVgp>YXN`UMD2G*FqiOkm;$
zwuu{9CT`=KSfii;RBma`e7yliL$&Qj)&>+~n|MS|<ofKxh1u`L)26cgN#7~6r>J;~
G+BN_Wq$r*M

delta 130
zcmZo;YGX2R@eFciU|?VZV&=qmagT(Hd>(*kAx?HjMg|5}CM70!28PBZ3=E84foeo1
z8mMT1<V7x5tp=;F^>l`+^FUSyRLeH8Mqy%@#KatdiAVHAN@nDEnE5$%&;D|D%B;>s
K^PdOku>%0-O(xj@

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/info/exclude b/test/integration/stashDrop/expected/repo/.git_keep/info/exclude
index 8e9f2071f..a5196d1be 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/info/exclude
+++ b/test/integration/stashDrop/expected/repo/.git_keep/info/exclude
@@ -4,4 +4,3 @@
 # exclude patterns (uncomment them if you want to use them):
 # *.[oa]
 # *~
-.DS_Store
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD b/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD
index b2e6d1769..96a7a7d7a 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD
@@ -1,7 +1,6 @@
-0000000000000000000000000000000000000000 c00c9eb1ae239494475772c3f3dbae5ea4169575 CI <CI@example.com> 1643011799 +1100	commit (initial): file0
-c00c9eb1ae239494475772c3f3dbae5ea4169575 7605fecac5dee01fb9df55ca984dcc7a72810f48 CI <CI@example.com> 1643011799 +1100	commit: file1
-7605fecac5dee01fb9df55ca984dcc7a72810f48 d22496528fe3c076a668c496ae7ba1f8136f1614 CI <CI@example.com> 1643011799 +1100	commit: file2
-d22496528fe3c076a668c496ae7ba1f8136f1614 d22496528fe3c076a668c496ae7ba1f8136f1614 CI <CI@example.com> 1643011803 +1100	reset: moving to HEAD
-d22496528fe3c076a668c496ae7ba1f8136f1614 d22496528fe3c076a668c496ae7ba1f8136f1614 CI <CI@example.com> 1643011803 +1100	reset: moving to HEAD
-d22496528fe3c076a668c496ae7ba1f8136f1614 d22496528fe3c076a668c496ae7ba1f8136f1614 CI <CI@example.com> 1643011806 +1100	reset: moving to HEAD
-d22496528fe3c076a668c496ae7ba1f8136f1614 d22496528fe3c076a668c496ae7ba1f8136f1614 CI <CI@example.com> 1643011806 +1100	reset: moving to HEAD
+0000000000000000000000000000000000000000 1ea8d05b2cbc972b48eae3181e846f82eeab50ef CI <CI@example.com> 1650002477 +0200	commit (initial): file0
+1ea8d05b2cbc972b48eae3181e846f82eeab50ef 8e724d42465144007f28d45514537886f527eef9 CI <CI@example.com> 1650002477 +0200	commit: file1
+8e724d42465144007f28d45514537886f527eef9 f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002477 +0200	commit: file2
+f1963e622e30276cf4e5880109ea475434d6f2ae f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002483 +0200	reset: moving to HEAD
+f1963e622e30276cf4e5880109ea475434d6f2ae f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002483 +0200	reset: moving to HEAD
+f1963e622e30276cf4e5880109ea475434d6f2ae f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002489 +0200	reset: moving to HEAD
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master
index 62c5e5c79..f257dee84 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 c00c9eb1ae239494475772c3f3dbae5ea4169575 CI <CI@example.com> 1643011799 +1100	commit (initial): file0
-c00c9eb1ae239494475772c3f3dbae5ea4169575 7605fecac5dee01fb9df55ca984dcc7a72810f48 CI <CI@example.com> 1643011799 +1100	commit: file1
-7605fecac5dee01fb9df55ca984dcc7a72810f48 d22496528fe3c076a668c496ae7ba1f8136f1614 CI <CI@example.com> 1643011799 +1100	commit: file2
+0000000000000000000000000000000000000000 1ea8d05b2cbc972b48eae3181e846f82eeab50ef CI <CI@example.com> 1650002477 +0200	commit (initial): file0
+1ea8d05b2cbc972b48eae3181e846f82eeab50ef 8e724d42465144007f28d45514537886f527eef9 CI <CI@example.com> 1650002477 +0200	commit: file1
+8e724d42465144007f28d45514537886f527eef9 f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002477 +0200	commit: file2
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/stash b/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/stash
deleted file mode 100644
index 0b47b5c2e..000000000
--- a/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/stash
+++ /dev/null
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 f4f81b6542e98a2f80269449674b0f8f454b74b0 CI <CI@example.com> 1643011806 +1100	On master: dsa
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447 b/test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447
new file mode 100644
index 000000000..858c3f4b3
--- /dev/null
+++ b/test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447
@@ -0,0 +1,4 @@
+x��A
+�0E]��d�N&��]��v�Ӗ�Ƿ�n��߰�2Up6��
+Q{�<0�*��#�x�����'?6�l:W�6q��6���Lj�
+O
�����O}.�������a)w���QLp�������L�;,3y��Wyz�3_%�@�
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/1c/88e069f3e318f1e0e02188cf65d360ab4eab67 b/test/integration/stashDrop/expected/repo/.git_keep/objects/1c/88e069f3e318f1e0e02188cf65d360ab4eab67
new file mode 100644
index 0000000000000000000000000000000000000000..3443df0982ed9bcf3de1eb96ff43614a4815b564
GIT binary patch
literal 185
zcmV;q07n0K0gcbWN(3<s#&OT{6uk?QNz*hH5n)ez@)^=5Rbjic%vSL6or`x*AN=`U
zzP63=H3O#gVeamMxz;97nrS!T+<J)!wbx8SwMthhLL|#gcfZci*TT^m(Ia5y*2$9y
ztWaDjCyHd;QT@+L7HmdH2<EKEGSQliq9st%qMD*wTJ(E<ZhJVL!^`RX=07@a7k_Ho
ncnvEj06>x$9svQCqaG)w|C2B8*D&;c_~&q+`r-BqmOx7P&!JuA

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/1e/6f4a55f3dd26848238337763f249681ef9397b b/test/integration/stashDrop/expected/repo/.git_keep/objects/1e/6f4a55f3dd26848238337763f249681ef9397b
deleted file mode 100644
index 24145cefe5d6422d1facb2ae6de393c5d5041043..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 160
zcmV;R0AK%j0gaB!3c@fD06pg`_AW>^k4+R2p{IUEl5VijG^Ix9=bMXnufq&Xs-?^g
z6uMK}nZc4(%D70{PiT>>BzKh)k@3-!i9s9VGI_Cuo!16ax39hNnRSwm0+COh1a>iC
z_NXZ%p%LNJUUi3Ig!?c)`3PlO_>yXQ0Fu!X(My6eqLiZ3KGpb7UCism2h<fxc=zh|
OyMjC~ti%@t3O_F|mQEx9

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/1e/a8d05b2cbc972b48eae3181e846f82eeab50ef b/test/integration/stashDrop/expected/repo/.git_keep/objects/1e/a8d05b2cbc972b48eae3181e846f82eeab50ef
new file mode 100644
index 0000000000000000000000000000000000000000..8e5c770efbbe8e9d52b5872102267896ae857b92
GIT binary patch
literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{iPOY@h|pD!ku-m>&=4sRdi?eXZXX}Kxz)OK
z64guJ0218cd<r4tB!hP`3&4+5w6ION*Z>Wx*2G``w2j7zp5ye!9_x3-ZEp2N;s$26
Y>OEcAGMlrWla4>RDa#5r2iRaM++^lEIRF3v

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf b/test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf
new file mode 100644
index 000000000..f79c6d13b
--- /dev/null
+++ b/test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf
@@ -0,0 +1 @@
+x��1k1F;߯�^�,�v(���n�K��8�W���-�;}�����2�uz�VwH�{��*���+%'�K�A��E���yz���
z�]�<"ei�=���+�đM:�?��5cbBs�}�9d�h	մ����&�پ�N3��������-��$D$.^����#6�'>��OX�0�{w���כ�w�N'
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68 b/test/integration/stashDrop/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68
deleted file mode 100644
index 8535af67cc32e9e5e4eea5f934d892197159292d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 127
zcmV-_0D%8^0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
zTSy8F8J6yO{8u&g#+QiDD4u+$3jtm&-B*zm7%@oj{4i=z+IQ~dszu>d{VlJw=Ub>F
hDKKU@e*BhA%8MMMf=|h_ge#xbiF8V50RVKTIZZy{I~D){

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/6d/c07da80aed51d01a56a89ef37f4411adbd75c5 b/test/integration/stashDrop/expected/repo/.git_keep/objects/6d/c07da80aed51d01a56a89ef37f4411adbd75c5
deleted file mode 100644
index 6d84f0e3f6edb602eba4d7de82799c5b426e909b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmV;S0ABxi0gaA93c@fD06pgwdlw{|#LZSj1W$d&Cf#76X-kdZ^X<jE*I@=GFSU*h
z9L7W2RDmd^%(lyelz}Pc(s^f7NilFpiHmT@A+T9x)49RmT<GZRxTw!Ik`Qs;iD*oM
zh0#+%!eHdxp34T09<Go6t{<uEq^G>p8z2R55!re;B3f&9x=%IzQ#a#0=m(Y=s=W5<
P^1FgEPU_4Tf5<@*kXulD

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/76/05fecac5dee01fb9df55ca984dcc7a72810f48 b/test/integration/stashDrop/expected/repo/.git_keep/objects/76/05fecac5dee01fb9df55ca984dcc7a72810f48
deleted file mode 100644
index 782d5f0ee75e11eb8535d556b55865b2d66a72b1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 145
zcmV;C0B-+y0gaAJ3c@fDKwak)*$Xn0F9RY%S3SmbGQmP)ONrp|%@N$b_ZCm~*4A#3
z+@+tYwm?oIBm%_3?21oyk<1ip@#;LJKp_P*2cP=xRse)_K^~5V3OVNN#8+Py)~FmX
zQOwcsr@!{oPP4sF^Haavj!kc}w}-_PJRoKwdqo5=gN~`Lf99sHo1*yvn2<S(J?2Jo

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/87/82cd42420de6a24264417d43d50ada9aa53ad5 b/test/integration/stashDrop/expected/repo/.git_keep/objects/87/82cd42420de6a24264417d43d50ada9aa53ad5
new file mode 100644
index 0000000000000000000000000000000000000000..e4dd3c06e3e75f509052584aa93f981426cedd8b
GIT binary patch
literal 162
zcmV;T0A2rh0gaA93c@fD06pgwdlzK8*(Mti5qjz~l5~Rw(@Krt^X<jE*I@=GueHt%
zsPl)mse*GUWx<fASSE2kmtYA~NuGsMk`g5dvzTYxbZJn!;H)|#wMgFO!rF^qhe0Fz
zo-I$VP*fA&?Y?d>jBpvon|@+_KJ=8=dWFvQh)66Jj!1}Rr~6dXKXo%NlYU@bpvKo;
QoqtzQ=7*B`0(yr*MAq3&iU0rr

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/724d42465144007f28d45514537886f527eef9 b/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/724d42465144007f28d45514537886f527eef9
new file mode 100644
index 0000000000000000000000000000000000000000..4fb5b0defc93f9ab390ae9f657dd383084363f19
GIT binary patch
literal 146
zcmV;D0B!$x0gaAJ3c@fDKwak)*$Xn6{6R$Ms>hg2CRk`}DG@xrJ%ZcEd+>PceHq$h
zyo^IcSBQZ*GeagO!fHb+94Y%&t)PYAvJ1|roep`Qp-`&e3v%HcvA858)+8gzg_cl+
ziU(<mKI63=dYbipnxFEezOQoQtv|F09stnAsIPzk>ZIq?kUw?RmQ{@U0sM_RVlY`o
AvH$=8

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 b/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
new file mode 100644
index 0000000000000000000000000000000000000000..2a1928079869c5c79e37d717252c0b2c211d73fe
GIT binary patch
literal 100
zcmV-q0Gt1K0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF&saB%O>STj#0s<<XOU%&+0@vrLzF~
G7%X4x=`OSY

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c b/test/integration/stashDrop/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c
deleted file mode 100644
index 539f9791905e17d0a85ce5884381ce25c523a355..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 107
zcmV-x0F?iD0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
zTSy8F8J6yO{8u&g#+QiDD4u+$3jtm&-B*zm7%?0_e#<81MUGLyr{r0}mCx!#I;FFa
N6c}Sw005AMIi$QpFR=gs

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d b/test/integration/stashDrop/expected/repo/.git_keep/objects/a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d
new file mode 100644
index 0000000000000000000000000000000000000000..0179f5cc4466bfac7b1a00bf7824fee9e9e435fe
GIT binary patch
literal 182
zcmV;n07?IN0gcbGYC|y$h2hTkDZB@YY)i6TN(p4j)Mt=wi5BYIaN|NBzh1g`J$%D|
z+CIkTbOH0zJXBrQ3dW7Gs{{ZP&Zt6Ug>tFMSEQa;c)QD?x9Q9mj>;iugpjxyD&-6w
ziV7yeh@CBn{(0y%wNTBZ08l0a_C6?8V9ORMbIgXAHu;_(`{6EE_j<XW^+(42OP||5
k-kfIwfR$X_30CB`)^%d)Kl%24b3-1>zc_jHUti8iK1hvR2mk;8

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/a6/ed180e13649885eed39866051ca0e25c0ad6ac b/test/integration/stashDrop/expected/repo/.git_keep/objects/a6/ed180e13649885eed39866051ca0e25c0ad6ac
deleted file mode 100644
index 20498e40d227b9506ac3b8173c7e3f2b55721dee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 189
zcmV;u07CzG0gaElY6LM1MN`jLs1F3o57}Nq2y8W7y3`s=A`9!CW#T|SKW?^9dpMWN
zX?yRN0iOKRI8-4uwaTVU9I}*Z)hG2)H_OPPZKEJ)E-!aJ^fo}ekCl=yrlGk^OjOz=
zta)R!f`JSP<HIMJmT+;bl29CSA}&=eWQ!5!$0j+owD8aP+7CFd@Ooa~^_TnosxNKt
rZ-5koLo6=9Goo|Lq%&gZKlSBv{eb-joxkVi^k@LPT-E;p_OMR7?F(H6

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/c0/0c9eb1ae239494475772c3f3dbae5ea4169575 b/test/integration/stashDrop/expected/repo/.git_keep/objects/c0/0c9eb1ae239494475772c3f3dbae5ea4169575
deleted file mode 100644
index 3a5979b5c..000000000
--- a/test/integration/stashDrop/expected/repo/.git_keep/objects/c0/0c9eb1ae239494475772c3f3dbae5ea4169575
+++ /dev/null
@@ -1,2 +0,0 @@
-x��A
-�0Fa�9���I����#i�`��R"x|{��޼��t�S�1�Y�r�!���V��ToPS�.}�k�i��>NO|S{���[{�X$��Y����t��]]V���?+�
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/d2/2496528fe3c076a668c496ae7ba1f8136f1614 b/test/integration/stashDrop/expected/repo/.git_keep/objects/d2/2496528fe3c076a668c496ae7ba1f8136f1614
deleted file mode 100644
index ce64e7f52..000000000
--- a/test/integration/stashDrop/expected/repo/.git_keep/objects/d2/2496528fe3c076a668c496ae7ba1f8136f1614
+++ /dev/null
@@ -1,3 +0,0 @@
-x��1
-�0@��>��B��8���B�C�%��\��#t����V��<�pi���J�	�P�PJ`��D�4�%R$
-�,A�·��ODSa�E��\,F�L}I�!XO�?��~��}���庯z��><}�)gEpg=���ɝ-��0V:�
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/e0/61c8716830532562f919dcb125ea804f87ca2b b/test/integration/stashDrop/expected/repo/.git_keep/objects/e0/61c8716830532562f919dcb125ea804f87ca2b
deleted file mode 100644
index 57420d0275bc06c633987c2b5497508b4547435c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmV;n07?IN0gcZ=Y6CG0h2gH}6y67dWy`XrloH4)tDHf$WLl^*Vd6rMUvIL{_UGfl
zt6T5i!v*BGv70%fQY!nksx)QFwXHGu(n?0gQn(4PjL6GfcDoIyA>c|WaI;u_CL!WF
zi&!oKjUiG40(^SXsZ`jDX#({iiRPrWm>VL1XwjT%TI6?pZM!>P+{gKHvOnqfA3N5q
ke>xzH9)Nvx2LSJvS?7siFY@Jjb6p<OzdL#8KQbdqh4WZi!vFvP

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/e5/cef1a548f3613b3e538bd0fc2b4ec88043fc25 b/test/integration/stashDrop/expected/repo/.git_keep/objects/e5/cef1a548f3613b3e538bd0fc2b4ec88043fc25
deleted file mode 100644
index 965e28b60414320e1b158c30bc52bca51c52cea5..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmV;v073tF0gaC_O9U|xMy>Z(OfN`glAR<XB3!kdo%QVO3?5u=k2Qin-&kC4`*`nz
zPxsc&9f;|nA7)UU@|=;mgsN0gdG=6qF0!tP)m4)v2|C^6uxp2nC{>=RxJ3<_Wt2LI
zSY8FaU}Q(ebobHNlgzWnZ6hwJP%JU#%+ddb3Yyng^E%0Q|J)BaE%0($-t0%(?P5>5
sw^u+;F(8(}@Q4_~H0U_d?VtMevAn~6g(hF4dA@%DKVOV~0rmMzBDT9=umAu6

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/f1/963e622e30276cf4e5880109ea475434d6f2ae b/test/integration/stashDrop/expected/repo/.git_keep/objects/f1/963e622e30276cf4e5880109ea475434d6f2ae
new file mode 100644
index 0000000000000000000000000000000000000000..3fd7331e6863cdf73414cfd8d95f226ceead0fa3
GIT binary patch
literal 146
zcmV;D0B!$x0gaA93d0}}0DJZo-V0^jsJnqu3OVH&#$9P3)(|Z8`OOo0oM8@=Tdixi
zZp2GJRPCtDi9j+7qX?$56baxcY9Us~jKh*Kn>`)+?v|C%i$@=W^B#Z-viNX97>GHR
zfTUVRlRo{`4m-{EKFv@4rn+x>%dI}Fiva-86WJ>ufI00s)%DNZlyy@yKQH$<vkc}%
A4*&oF

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/f4/f81b6542e98a2f80269449674b0f8f454b74b0 b/test/integration/stashDrop/expected/repo/.git_keep/objects/f4/f81b6542e98a2f80269449674b0f8f454b74b0
deleted file mode 100644
index 0c09e49d2b855ad1cedc66bdb2e40a7659d4398c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmV;n07?IN0gcbWN(3<w1W?cO6@3>Zo$hpc77<}jd-5APlMV`IXPJ%Q=Nk{+y%w(u
zYTJAN7!X+>#^DZ0QjDC7kXB46DM(&J6=5wZT#T4=6J2h0_;o;?dYv6@PFu)gBD&4Q
zJQu^JNYYS{|2(=hwv-yx8bw(nDN)Ws?RQAg+e&LLi+zpv{ebfYp3j$8|F(Yn^rvm_
kFMz@n5H$!qB8ITcbe<UgPrkfeq1%1>6V$u?0Msu>Py?J)1^@s6

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master b/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master
index 0a7c9cc2b..7bd761f02 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-d22496528fe3c076a668c496ae7ba1f8136f1614
+f1963e622e30276cf4e5880109ea475434d6f2ae
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/refs/stash b/test/integration/stashDrop/expected/repo/.git_keep/refs/stash
deleted file mode 100644
index 0a4ae7ab5..000000000
--- a/test/integration/stashDrop/expected/repo/.git_keep/refs/stash
+++ /dev/null
@@ -1 +0,0 @@
-f4f81b6542e98a2f80269449674b0f8f454b74b0
diff --git a/test/integration/stashDrop/expected/repo/file1 b/test/integration/stashDrop/expected/repo/file1
index a5bce3fd2..c7c7da3c6 100644
--- a/test/integration/stashDrop/expected/repo/file1
+++ b/test/integration/stashDrop/expected/repo/file1
@@ -1 +1 @@
-test1
+hello there
diff --git a/test/integration/stashDrop/expected/repo/file2 b/test/integration/stashDrop/expected/repo/file2
index c7c7da3c6..180cf8328 100644
--- a/test/integration/stashDrop/expected/repo/file2
+++ b/test/integration/stashDrop/expected/repo/file2
@@ -1 +1 @@
-hello there
+test2
diff --git a/test/integration/stashDrop/expected/repo/file3 b/test/integration/stashDrop/expected/repo/file3
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashDrop/expected/repo/file3
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashDrop/recording.json b/test/integration/stashDrop/recording.json
index c61c97b24..fb15d10b1 100644
--- a/test/integration/stashDrop/recording.json
+++ b/test/integration/stashDrop/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":1329,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2003,"Mod":0,"Key":256,"Ch":83},{"Timestamp":2466,"Mod":0,"Key":258,"Ch":0},{"Timestamp":2754,"Mod":0,"Key":13,"Ch":13},{"Timestamp":2979,"Mod":0,"Key":256,"Ch":97},{"Timestamp":3051,"Mod":0,"Key":256,"Ch":115},{"Timestamp":3081,"Mod":0,"Key":256,"Ch":100},{"Timestamp":3386,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3961,"Mod":0,"Key":258,"Ch":0},{"Timestamp":4186,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4906,"Mod":0,"Key":256,"Ch":83},{"Timestamp":5394,"Mod":0,"Key":258,"Ch":0},{"Timestamp":5626,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6002,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6066,"Mod":0,"Key":256,"Ch":115},{"Timestamp":6113,"Mod":0,"Key":256,"Ch":97},{"Timestamp":6378,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6842,"Mod":0,"Key":259,"Ch":0},{"Timestamp":7074,"Mod":0,"Key":259,"Ch":0},{"Timestamp":7315,"Mod":0,"Key":259,"Ch":0},{"Timestamp":7714,"Mod":0,"Key":258,"Ch":0},{"Timestamp":8114,"Mod":0,"Key":256,"Ch":100},{"Timestamp":8546,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9379,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":1450,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2169,"Mod":0,"Key":256,"Ch":83},{"Timestamp":4172,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5203,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5380,"Mod":0,"Key":256,"Ch":116},{"Timestamp":5453,"Mod":0,"Key":256,"Ch":97},{"Timestamp":5555,"Mod":0,"Key":256,"Ch":103},{"Timestamp":5626,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5763,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6115,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7300,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8683,"Mod":0,"Key":256,"Ch":83},{"Timestamp":9863,"Mod":0,"Key":13,"Ch":13},{"Timestamp":11038,"Mod":0,"Key":256,"Ch":97},{"Timestamp":11123,"Mod":0,"Key":256,"Ch":115},{"Timestamp":11167,"Mod":0,"Key":256,"Ch":100},{"Timestamp":12056,"Mod":0,"Key":13,"Ch":13},{"Timestamp":13353,"Mod":0,"Key":256,"Ch":53},{"Timestamp":14713,"Mod":0,"Key":256,"Ch":100},{"Timestamp":15919,"Mod":0,"Key":13,"Ch":13},{"Timestamp":17181,"Mod":0,"Key":256,"Ch":50},{"Timestamp":18431,"Mod":0,"Key":256,"Ch":53},{"Timestamp":19203,"Mod":0,"Key":256,"Ch":103},{"Timestamp":20228,"Mod":0,"Key":13,"Ch":13},{"Timestamp":20771,"Mod":0,"Key":256,"Ch":50},{"Timestamp":21700,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD
index 8e8f6abd0..32bd1b5cc 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-8634432ef171aa4b8d8e688fc1e5645245bf36ac
+605615b78c181314a7a019e116647bfdf9127c94
diff --git a/test/integration/stashPop/expected/repo/.git_keep/config b/test/integration/stashPop/expected/repo/.git_keep/config
index 8ae104545..596ebaeb3 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/config
+++ b/test/integration/stashPop/expected/repo/.git_keep/config
@@ -3,8 +3,6 @@
 	filemode = true
 	bare = false
 	logallrefupdates = true
-	ignorecase = true
-	precomposeunicode = true
 [user]
 	email = CI@example.com
 	name = CI
diff --git a/test/integration/stashPop/expected/repo/.git_keep/index b/test/integration/stashPop/expected/repo/.git_keep/index
index 1c25c6cf67833025f6f6363320d79391c166569b..0850077fddf2ff6ed10d14e2a02b11809beaa05e 100644
GIT binary patch
delta 93
zcmbQq)W&4s;u+-3z`(!+#LP+2Hy)|(k1B@IKrtzXPp2Xo7#f!VrC)&XM1!1(VG<K_
m1STF)mu6$oHB>O*Dw$!(s`8m($z1vP5EJE`m<1Q>rUL*PZyl5X

delta 147
zcmZo;n#p9~;u+-3z`(!+#LS8B;zbqz3f}_J3X^&Z7#SE?nUvVw85kOuFfcHF1*#F5
zXpo};l2^H#a|J{z*R7ccRp*7Q4ycxG;t_Q{Nd{vD1Fm@;%Xv@S(7m*N|5e7a_Z1I2
dl=tZLeF%7MDEoAM7=xb6qWzm!?Gnoj006hEFChQ`

diff --git a/test/integration/stashPop/expected/repo/.git_keep/info/exclude b/test/integration/stashPop/expected/repo/.git_keep/info/exclude
index 8e9f2071f..a5196d1be 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/info/exclude
+++ b/test/integration/stashPop/expected/repo/.git_keep/info/exclude
@@ -4,4 +4,3 @@
 # exclude patterns (uncomment them if you want to use them):
 # *.[oa]
 # *~
-.DS_Store
diff --git a/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD b/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD
index 36f584bdf..6740e556b 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD
@@ -1,7 +1,5 @@
-0000000000000000000000000000000000000000 8b081dcb0e1fd5e9862d1aa6891b805b101abe7b CI <CI@example.com> 1643011851 +1100	commit (initial): file0
-8b081dcb0e1fd5e9862d1aa6891b805b101abe7b 3ae4e5d4920afbb1bac23426afb237524c8dbe41 CI <CI@example.com> 1643011851 +1100	commit: file1
-3ae4e5d4920afbb1bac23426afb237524c8dbe41 8634432ef171aa4b8d8e688fc1e5645245bf36ac CI <CI@example.com> 1643011852 +1100	commit: file2
-8634432ef171aa4b8d8e688fc1e5645245bf36ac 8634432ef171aa4b8d8e688fc1e5645245bf36ac CI <CI@example.com> 1643011854 +1100	reset: moving to HEAD
-8634432ef171aa4b8d8e688fc1e5645245bf36ac 8634432ef171aa4b8d8e688fc1e5645245bf36ac CI <CI@example.com> 1643011854 +1100	reset: moving to HEAD
-8634432ef171aa4b8d8e688fc1e5645245bf36ac 8634432ef171aa4b8d8e688fc1e5645245bf36ac CI <CI@example.com> 1643011856 +1100	reset: moving to HEAD
-8634432ef171aa4b8d8e688fc1e5645245bf36ac 8634432ef171aa4b8d8e688fc1e5645245bf36ac CI <CI@example.com> 1643011856 +1100	reset: moving to HEAD
+0000000000000000000000000000000000000000 2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 CI <CI@example.com> 1650186466 +0200	commit (initial): file0
+2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 0138b2ed57b0412b2c2244a267fc1396f06ac287 CI <CI@example.com> 1650186466 +0200	commit: file1
+0138b2ed57b0412b2c2244a267fc1396f06ac287 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186466 +0200	commit: file2
+605615b78c181314a7a019e116647bfdf9127c94 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186469 +0200	reset: moving to HEAD
+605615b78c181314a7a019e116647bfdf9127c94 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186471 +0200	reset: moving to HEAD
diff --git a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master
index 5493552ad..f83a90cae 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 8b081dcb0e1fd5e9862d1aa6891b805b101abe7b CI <CI@example.com> 1643011851 +1100	commit (initial): file0
-8b081dcb0e1fd5e9862d1aa6891b805b101abe7b 3ae4e5d4920afbb1bac23426afb237524c8dbe41 CI <CI@example.com> 1643011851 +1100	commit: file1
-3ae4e5d4920afbb1bac23426afb237524c8dbe41 8634432ef171aa4b8d8e688fc1e5645245bf36ac CI <CI@example.com> 1643011852 +1100	commit: file2
+0000000000000000000000000000000000000000 2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 CI <CI@example.com> 1650186466 +0200	commit (initial): file0
+2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 0138b2ed57b0412b2c2244a267fc1396f06ac287 CI <CI@example.com> 1650186466 +0200	commit: file1
+0138b2ed57b0412b2c2244a267fc1396f06ac287 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186466 +0200	commit: file2
diff --git a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash b/test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash
index 4a66ec164..ca9920f6e 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash
+++ b/test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash
@@ -1 +1 @@
-0000000000000000000000000000000000000000 437b9b0ca941f1e12c8b45958f5d6ebd11cdd41a CI <CI@example.com> 1643011856 +1100	On master: asd
+0000000000000000000000000000000000000000 5e6c498354e93f4049e80254810f4577b180a8ab CI <CI@example.com> 1650186471 +0200	On master: asd
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287 b/test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287
new file mode 100644
index 000000000..d4936dcdf
--- /dev/null
+++ b/test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287
@@ -0,0 +1,2 @@
+x��K
+�0@]��2�M��1��	SJ�o����<n�n]�d/��"2'fH�D6;,+GJ�d'����u�)ﮭ��V��;��@p�q
���@ѧ�ک�E���)_��.7n��
0zD}�S]��U�v1��:
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0 b/test/integration/stashPop/expected/repo/.git_keep/objects/2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0
new file mode 100644
index 0000000000000000000000000000000000000000..340b8157b4b713e49e22d3a517224b81a8717e9f
GIT binary patch
literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{iPLEVB0^U^M$-JjLPJZ5;PLGd+&(^d^H%H9
zNK`NF07!6$^(lmqlXShsEC3IwXknjn@c|lCy^Ejr-VPckdW_Qx-&pq*w|T2i66;t7
YQ!~1<XLe^jCk=mcSC$p*e%uc$@~JE~OaK4?

literal 0
HcmV?d00001

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/3a/e4e5d4920afbb1bac23426afb237524c8dbe41 b/test/integration/stashPop/expected/repo/.git_keep/objects/3a/e4e5d4920afbb1bac23426afb237524c8dbe41
deleted file mode 100644
index aa0e72eedb74303642738f701260783ffb6a526c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcX03c@fDKw;N8MfQTs<gW>c2wn9UlgR`NjV&R9$G1mt`}h`*_tw^-
zF`3KgBD%m7m=iN3Vj@#)sF^29z7{LSLU73ihw7j%@1bLch=nr<*5W0_U<wk2m@r51
z838HFlofr(Ywvnq^nG5Q@}+ica^t-{GzMn@F?!TjL;!Wxb85(+T-9|GR6onaIq;^M
BM3Mji

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/43/7b9b0ca941f1e12c8b45958f5d6ebd11cdd41a b/test/integration/stashPop/expected/repo/.git_keep/objects/43/7b9b0ca941f1e12c8b45958f5d6ebd11cdd41a
deleted file mode 100644
index 38198edd1..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/objects/43/7b9b0ca941f1e12c8b45958f5d6ebd11cdd41a
+++ /dev/null
@@ -1 +0,0 @@
-x�ϱj1�����E�%YWJ	d��g�m��\�����M���|�_�1>g��Osw��T���Dɍ���k�X�[��n��fPID)znjfT���j��,đ��$V�|����&���M�d��A�Նy������r
����lܿ��n�-�PDe	'D���������=���~�cJ)
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab b/test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab
new file mode 100644
index 000000000..a8d3c8495
--- /dev/null
+++ b/test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab
@@ -0,0 +1,2 @@
+x�ϱj1����
fW�Z�BW��
ZiE�Ϝ��G�{��c�)[���y����9f�"�Jͭ
+����A�FR��%	�,���m8��4JA�)��������X=���Y�UY�(�Bs�zTƔ��M=/�w|m�;_���r����?v,[�t�Pf?�x�e��İ�r���ӿ������I�
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/60/5615b78c181314a7a019e116647bfdf9127c94 b/test/integration/stashPop/expected/repo/.git_keep/objects/60/5615b78c181314a7a019e116647bfdf9127c94
new file mode 100644
index 0000000000000000000000000000000000000000..22dbe19c0e7a5631d20297911d48cf478d161106
GIT binary patch
literal 147
zcmV;E0Brww0gaA93d0}}0DJZo-V0@2&ANe73OVH&x~?=3n-DDY`OOo09R_A(Yi;S)
zjd<yYsvVU%MJU3Bu@p=-*D`>Mq&2cSX7pK5%$^Q?cMHyQMlD0k5FBO{#1Ilvtm6Dg
z6(|XEH0je{+hM2K-lzGg-_-V1Z?d(Ab#w-p0+GD}0+^GYQ(gbmO<h(+^8<X*Ia{I}
BLq7lj

literal 0
HcmV?d00001

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/82/cc524693ae9fb40af0ed8ab7e22581084dcd17 b/test/integration/stashPop/expected/repo/.git_keep/objects/82/cc524693ae9fb40af0ed8ab7e22581084dcd17
deleted file mode 100644
index 1794b8694a817d214fc02c1d5a9c2edc27275c7c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmV;S0ABxi0gaA93c@fD06pgwdlw{|Znmq42%db#Cf#7cw53My`S#-7>o5b8=UT@G
z0sCEB%|I;q!kK9>4c?QokZFwN80DCHOcaNnmEEGNO$~%QqApm$9#tvHAjTpkqeZ3|
zD5lb}W~cA=m{+*n;e5Ma?W1*h+9A*N0?5>PM2QT0MDN{3x2a}->Ta9{`@lRw)z?;?
PepgV&rv>)~SFb?Z2l7$U

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/86/34432ef171aa4b8d8e688fc1e5645245bf36ac b/test/integration/stashPop/expected/repo/.git_keep/objects/86/34432ef171aa4b8d8e688fc1e5645245bf36ac
deleted file mode 100644
index 24d309c9e22283e00444c6d7cba25ab5b777b465..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gaA93d0}}MZ5MC?hC~kHBO+ELRLA(s3Q%;8iIu$zaF8>_j!C?YPD`%
z!;F`His)I0IGCI$6XuLuV#(e>n4|;}AVM1xCUx*B@2)M26QA9TW~dP&C$tWy0ce9q
zH;$q>Q2gnycIsu-_ho&`m+P_1Ew%d4Fga@g$fLdj7^B8IqPqO4tFrBa>IVWKI$b3r
BMRWiF

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930 b/test/integration/stashPop/expected/repo/.git_keep/objects/8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930
new file mode 100644
index 0000000000000000000000000000000000000000..5634f803139e66529b1034585c9d420b3b391878
GIT binary patch
literal 183
zcmV;o07(CM0gcZ+Y6CG4K;hJT3iXDd(a($&f-$&ql{3spGb9js%~}Q@-`k{5`}msI
z)-isj3#q)#P1WV5R@s!1BlS|PhO8l}7y)-}g0X{nT5i1QbvpDJAq$lT1tKIS_D~f7
zF_Boe3V~Wpf1XQXC}bGLXOR>QYBOm?w6j#w9%G=;7k<p|b#v#7`#fJx`s8u@)%UiJ
lqXWzy3MQ=X;Dh(eUiXQq|K!Wp)eXMy{=@OTzW|pLODQX~TUG!7

literal 0
HcmV?d00001

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/8b/081dcb0e1fd5e9862d1aa6891b805b101abe7b b/test/integration/stashPop/expected/repo/.git_keep/objects/8b/081dcb0e1fd5e9862d1aa6891b805b101abe7b
deleted file mode 100644
index e730193f1096a737bc98278885356899d5a37c4b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 118
zcmV-+0Ez#20gcT;3WG2ZM&Yh=irE*+OdO+uQVOm-Mq>U@!H^;;cziuVw~r6rQcGDI
ziR!KG00}y{A$spqlzwm_3BY5_n%Tybt%rJ5Yr?O6>Q2*4&uM<+2<5xsvDES+aoVxS
Y*bCi7n9WtMNyDGq<aGm^6W8o3*uFqJ%>V!Z

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/8b/d86c566a91e9f8ace9883f7017f562c971b3f7 b/test/integration/stashPop/expected/repo/.git_keep/objects/8b/d86c566a91e9f8ace9883f7017f562c971b3f7
deleted file mode 100644
index 4541e3cc903ca4b278638483bf5d52842ef6e4ca..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmV;n07?IN0gcbGY6CG0fZ@*f6y5_xwq#i@r35l%>N7~TObc}`T&~c^?=9WC{(Q^d
z);T}-kVu~P%{?%iHG$f?jxJo<sF=Wp6%sO&p;CoNmb-3#+k-F?Ve%16R3(!x&LX2l
z&rCT{wt=ke&l>=6LWP`+dP<2Kp($22K`1Dt)<WQme(xXa7B1KDdbytcN9X;^pW8a$
kLS#aSQ8I;7i~!3~kBQy?$(Q$AnEE*UOVCIE1(QQbIg0mMJpcdz

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/a8/4a187f63b05bb43f19cfbc8bedab97ed33272d b/test/integration/stashPop/expected/repo/.git_keep/objects/a8/4a187f63b05bb43f19cfbc8bedab97ed33272d
new file mode 100644
index 0000000000000000000000000000000000000000..351b71e04b90216507c6ecc8530c4e11543fc9e3
GIT binary patch
literal 162
zcmV;T0A2rh0gaA93c@fD06pgwdlw{|rkjn32tD-~NxH#;X-bXI=i7^Sufq&Xs-?^g
z47yX>M1Uy9#M-AR<cZ0p>^q}lj?S`;k#k_r*0Nf|CQAd-Jz*amCuHo<1{XAXK_s#+
z<|%tLE_tiMr#<Ti!w9!we8?Wk`jShk<qk-_MkY%h&e~|L4th*A`BPW(GRY2gffC+F
Qb^TpIo?l|r7erM+#R+>$wEzGB

literal 0
HcmV?d00001

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/b0/00623a052b4d2226c43ba396b830738799740e b/test/integration/stashPop/expected/repo/.git_keep/objects/b0/00623a052b4d2226c43ba396b830738799740e
deleted file mode 100644
index 8ebf85670da8fb2010e03ed16d2ca9dd0ae10270..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 162
zcmV;T0A2rh0gaA93c@fD06pgwdlw{|Y}2iX2tD-~n{<N()0P^c&$k!vUWXZ&w3ISc
zaM+&erV1g%nAmn{lss~1Q|`R8F~^peV&p8`F%g?pHk~VQ@I>Be#uh~=^2i#Pb3$zb
zHIAB?eUN12Q=iKQ{Q$Rqc<3%=ed#4F<qjCgTSRUM&WP5UgC0{=|J2PikGjJ$Ly`AU
QU4K`Qr<XeO1+ITVNuFU$P5=M^

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26 b/test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26
new file mode 100644
index 000000000..2a71485a3
--- /dev/null
+++ b/test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26
@@ -0,0 +1,3 @@
+x��A
+�0E]��$���DD��z�i2��iJ��㛍{����/���
+ݩ�"������"�
�9�A���	�n&��wY+X=XfG	;�ٱF/�����ɣq���?�Yv'���C��K.��;�m�x��6Z����*�jY�PV��n��Wiy�Q_U�@�
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/c6/a8d49b926afc9ff2b4c64398ee678c50c2c953 b/test/integration/stashPop/expected/repo/.git_keep/objects/c6/a8d49b926afc9ff2b4c64398ee678c50c2c953
deleted file mode 100644
index 6f47ae7a5..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/objects/c6/a8d49b926afc9ff2b4c64398ee678c50c2c953
+++ /dev/null
@@ -1 +0,0 @@
-x���j1@;�Wh/˖e](���l�e[��8�.��sK;g}�7���~�ٿ��IJk\���w���Lcls�9'�kb�馛]��aBU�R�X���=��k��});�9��-��權�d�GA'TK�4���^78.�~\>���v����@��%2�":7�t���>}-'X���go�����M}
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/e0/0e994a4acb98bcbe93ad478e09dcb3bed6b26c b/test/integration/stashPop/expected/repo/.git_keep/objects/e0/0e994a4acb98bcbe93ad478e09dcb3bed6b26c
deleted file mode 100644
index 026ea2da19fad2fe2217aa5edb029d408feebac3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 190
zcmV;v073tF0gaEbY6LM11yk==xDNzbl4bh{A#l}p=~BzKOb*Vs$Hswtezv(j?RzuD
z)NPE*bSU^VcQY5N^{m}glwwP{XAFjHrAM#LY7uI_LtO5<+ikie#7t=2AHQ-*Et#a$
ztG6H=kVEMtS|5A?06|g+ShyjgRHmYor6ht#Ddrp*Y|)?jwe9Y_y4UmiZofM2S9_`3
scynHu!21-~J$nzZ9P1G=?VtGaxqi6q=7xSB&gs$M`sHf)2SZ#<J&XHci2wiq

diff --git a/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master b/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master
index 8e8f6abd0..32bd1b5cc 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-8634432ef171aa4b8d8e688fc1e5645245bf36ac
+605615b78c181314a7a019e116647bfdf9127c94
diff --git a/test/integration/stashPop/expected/repo/.git_keep/refs/stash b/test/integration/stashPop/expected/repo/.git_keep/refs/stash
index 86ea2c9b3..3a695ec9e 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/refs/stash
+++ b/test/integration/stashPop/expected/repo/.git_keep/refs/stash
@@ -1 +1 @@
-437b9b0ca941f1e12c8b45958f5d6ebd11cdd41a
+5e6c498354e93f4049e80254810f4577b180a8ab
diff --git a/test/integration/stashPop/expected/repo/file2 b/test/integration/stashPop/expected/repo/file2
index 180cf8328..c7c7da3c6 100644
--- a/test/integration/stashPop/expected/repo/file2
+++ b/test/integration/stashPop/expected/repo/file2
@@ -1 +1 @@
-test2
+hello there
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration/stashStagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG
new file mode 100644
index 000000000..6c493ff74
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG
@@ -0,0 +1 @@
+file2
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/FETCH_HEAD b/test/integration/stashStagedChanges/expected/repo/.git_keep/FETCH_HEAD
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/HEAD b/test/integration/stashStagedChanges/expected/repo/.git_keep/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD
new file mode 100644
index 000000000..a47ee9407
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD
@@ -0,0 +1 @@
+2b515d20a02212d14a519d82917b791e01ebc659
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/config b/test/integration/stashStagedChanges/expected/repo/.git_keep/config
new file mode 100644
index 000000000..596ebaeb3
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/config
@@ -0,0 +1,8 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = false
+	logallrefupdates = true
+[user]
+	email = CI@example.com
+	name = CI
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/description b/test/integration/stashStagedChanges/expected/repo/.git_keep/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/index b/test/integration/stashStagedChanges/expected/repo/.git_keep/index
new file mode 100644
index 0000000000000000000000000000000000000000..b5bae0d08c39b600fdd868e3dfa6c8313b042ee4
GIT binary patch
literal 334
zcmZ?q402{*U|<4bmZV6|9~}G7SHNhXm=wc@6QK+YjY}99m|s9J1Dl12)s+SRw6?tq
zKJ>nG>CH!br<&ekU`@-+Ni_g!!3RL*Ai&Z+kN>Ks-uMy`8pV_EbRod2rTZ$x97BX6
ztSnS>BzS%pH7M;n_j1*u@T&fnSK9L})FI{=fpsTEaxn@EZ*qpwKtYhdKBM`I=lJnk
zHYqQ1j0!#_&l0YDRwvRaodq$+7;H{RkgF?@!N#C#s9?ZV@-y7w`~;8HtAt%N-tvbW
JWZgQY5CG)rR=5BF

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/info/exclude b/test/integration/stashStagedChanges/expected/repo/.git_keep/info/exclude
new file mode 100644
index 000000000..a5196d1be
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD
new file mode 100644
index 000000000..a5965cba2
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD
@@ -0,0 +1,5 @@
+0000000000000000000000000000000000000000 4062b34fff18c4453edded2da4f0737176daaa4d CI <CI@example.com> 1650002424 +0200	commit (initial): file0
+4062b34fff18c4453edded2da4f0737176daaa4d b160a56c2580f8cc1e5432f32212f83395459997 CI <CI@example.com> 1650002424 +0200	commit: file1
+b160a56c2580f8cc1e5432f32212f83395459997 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002424 +0200	commit: file2
+2b515d20a02212d14a519d82917b791e01ebc659 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002430 +0200	reset: moving to HEAD
+2b515d20a02212d14a519d82917b791e01ebc659 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002430 +0200	reset: moving to HEAD
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..8e5dd5d7f
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master
@@ -0,0 +1,3 @@
+0000000000000000000000000000000000000000 4062b34fff18c4453edded2da4f0737176daaa4d CI <CI@example.com> 1650002424 +0200	commit (initial): file0
+4062b34fff18c4453edded2da4f0737176daaa4d b160a56c2580f8cc1e5432f32212f83395459997 CI <CI@example.com> 1650002424 +0200	commit: file1
+b160a56c2580f8cc1e5432f32212f83395459997 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002424 +0200	commit: file2
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
new file mode 100644
index 0000000000000000000000000000000000000000..f74bf2335bbc5999ad0faff94fb04165d8ab5c7d
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@DUS(>~ZE#08nZNMgRZ+

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
new file mode 100644
index 0000000000000000000000000000000000000000..79fcadf67fdecb0f0cffca7ff27b2ae5c031e4d7
GIT binary patch
literal 50
zcmV-20L}k+0V^p=O;s>9W-v4`Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
I033l4YT~68jQ{`u

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/28/59c9a5f343c80929844d6e49d3792b9169c4da b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/28/59c9a5f343c80929844d6e49d3792b9169c4da
new file mode 100644
index 0000000000000000000000000000000000000000..ea6cd38669c9f73920911d2efdafe0a5b6bad32b
GIT binary patch
literal 85
zcmV-b0IL6Z0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
rTSy8F8IB*nWs~wE$Ee^_@+{%XXLTZ-(pg9fj0h<(#;O1SVZb>0{5mDa

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/515d20a02212d14a519d82917b791e01ebc659 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/515d20a02212d14a519d82917b791e01ebc659
new file mode 100644
index 0000000000000000000000000000000000000000..0f1ad7e2f6b933bb926fc3f8af2f726d07238323
GIT binary patch
literal 148
zcmV;F0Biqv0gcX03c@fDKw;N8MfQSBCVvwU5xVLz(#Zr1jV&R9$G1mt`}h`*_tw^-
zO~T9QB033Cj!>8iVJVpFQi}%@gVac3h|n&Ktd88}J@jG%WFHtkK_zA*-dU^`(O@NO
zlXpI)6jlC=*WUFs>-#i6<(u2F$&L5+&?a~QK!;9W0Rhxm&#57Qa#hz&Q2hW)yEwy|
CdPSB1

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/d62bafdea9ceb4732326e82d4ce14196d7a032 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/d62bafdea9ceb4732326e82d4ce14196d7a032
new file mode 100644
index 0000000000000000000000000000000000000000..1b07a5cbc28f199fff1ccc844654d961d5b1ef01
GIT binary patch
literal 160
zcmV;R0AK%j0gaA93c@fD06pgwdlzJPleCS92tD-~+hl_U)0SGH&o>wEUWXZ&xRf&O
zz|@}hO%+_WNExlPIYciuhE9Yjq=cC|Ct0J->^if`rgIHPPd+gUG7~3q;;Y<opmuBn
zDUyz{@xjPve=ZyJ1Kj%Ip@)?9rI)yrJ5b{hk)1_2BO{th>(s7)>Smgg9<a<%<Xx-l
O?+WttQZ`>E4M4WNyG$nl

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
new file mode 100644
index 0000000000000000000000000000000000000000..06c9cb73d7a8ed6841ce407bd6bb15235c8fa15c
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@BtHp>|y2)08mZ`J^%m!

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/40/62b34fff18c4453edded2da4f0737176daaa4d b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/40/62b34fff18c4453edded2da4f0737176daaa4d
new file mode 100644
index 0000000000000000000000000000000000000000..2fe4f5acdc5783bf6b3760d173ab1c8c009e0c81
GIT binary patch
literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{8K<cM5uvLdBWeC%p&?Qtczk;Vw~r6r(rR5h
ziP@>|012+}V+tYUB*W-q7JzT5SYb`MXn+MXb@9_*ZKr9b`!qlCjrG0Zvb6dj@dGof
YsnMC0*&X$mbo|L(SvRoz0oCp+%zP_4y8r+H

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/4f/301f03a7f9c5a3c98aa219dd0f184afec3f248 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/4f/301f03a7f9c5a3c98aa219dd0f184afec3f248
new file mode 100644
index 0000000000000000000000000000000000000000..6dc24b6d3f0861996a9ca282c858243754710a62
GIT binary patch
literal 107
zcmV-x0F?iD0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
zTSy8F8IB*nWs~wE$Ee^_@+{%XXLTZ-(pg9fj2I+%ei$_<?K}5!)uQmK{+3tT^DWeo
N6c}SQ0RTnfIHT2PF#P}k

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/54/fbb8276359cb6f68faa9cb7dcf58f93c838035 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/54/fbb8276359cb6f68faa9cb7dcf58f93c838035
new file mode 100644
index 0000000000000000000000000000000000000000..77c7961f7d0703649d5ac3c4b5a917c8c48588c6
GIT binary patch
literal 187
zcmV;s07U<I0gaD6O9Vj-K&|&zOfN{1$$aDx5w6<K&N?&6;=#@Bv993HcN?*_eY{t^
zzK(I(17&*HH}^m_Nf%8^<k%|+NoBU|EEbDU6U@@tbh_*2w<Bx`lMyHoAsMnJ6ssgy
zS`l<WZ#^gZ^DR@;#ayL(;}R)S_DaUxkx{Z0g-DZr?H}tF&U1J^&#(Ti<9_w0zK)lG
pIROB1gzyLiFdg)m*!`dS^gh3Z^%jPH9?j|ZAuN}x(+}`5OolhkT$um>

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
new file mode 100644
index 0000000000000000000000000000000000000000..0e95eb06dda15fe1901a7942e7954b700b36bfa9
GIT binary patch
literal 101
zcmV-r0Gj`J0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF-Y+IFltcRckbn?Md4NbEw8laTc`s7
H>2WLwJR>kD

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
new file mode 100644
index 0000000000000000000000000000000000000000..285df3e5fbab12262e28d85e78af8a31cd0024c1
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@Cg%x>`~^A08nuUMF0Q*

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b1/60a56c2580f8cc1e5432f32212f83395459997 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b1/60a56c2580f8cc1e5432f32212f83395459997
new file mode 100644
index 0000000000000000000000000000000000000000..333da1d7e89c078282ccfa1e553f903344f3f220
GIT binary patch
literal 147
zcmV;E0Brww0gcW<3c@fDKvCB@MfQSBCey@#h|pD!F`b!U!PrtFczk;Vx1YE8vbMH#
z9}1rOZsrwo5-B23SeQ{`s<UJ+L)B;)AyJ`3!EL<TyL*C!bEH~pxC+q_P1O{YsX~r9
z<fP0@>iE;2>+Z+N-^S@-UvAsWF0!_}4`~1ZBqV<Z1aL<^rn>#fU0q%l+z;EDIvQSg
BM?e4o

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
new file mode 100644
index 0000000000000000000000000000000000000000..ee4385f12cb5e2fea6044749c3960a2c40be7b9e
GIT binary patch
literal 28
kcmb<m^geacKghr&>4eAGlPAM9PI~BiJ!N8W-osW20IwDcng9R*

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
new file mode 100644
index 000000000..2e9066287
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
@@ -0,0 +1,2 @@
+x+)JMU03c040031QH��I5`������ֶw���w.��h�T�[H
+��y�W5�Ɨ��(�|�^-�W(x9
\ No newline at end of file
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fe/0b6136ae74e574b3349fabbf0b89053c6a201e b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fe/0b6136ae74e574b3349fabbf0b89053c6a201e
new file mode 100644
index 0000000000000000000000000000000000000000..6524d6dfdd5728432601ba48d1de6655068bd7c1
GIT binary patch
literal 187
zcmV;s07U<I0gcbSY6CG41mM*76zT(EclB>f2)J^UXIN=halrDKI|cIikt?@prWn2{
zrmnqz4?{k_j7`<JW&s;mjxATuw&ui4m_?vra@@4qMlLOP-t;zy#iJJj1|lRu$A02O
z8DohV6;MkJK0mz#D%?alS1m4DvJ^CtxT@$d2Z;=p7XBHRbu*{4IiAiR`pf-()wjC#
pcZ0zL067ch6$oIN?L0B`pM3eena=z42eS{}FOU3E`2%N@O;&ZoS55!`

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master b/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master
new file mode 100644
index 000000000..a47ee9407
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master
@@ -0,0 +1 @@
+2b515d20a02212d14a519d82917b791e01ebc659
diff --git a/test/integration/stashStagedChanges/expected/repo/file0 b/test/integration/stashStagedChanges/expected/repo/file0
new file mode 100644
index 000000000..38143ad4a
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/file0
@@ -0,0 +1 @@
+test0
diff --git a/test/integration/stashStagedChanges/expected/repo/file1 b/test/integration/stashStagedChanges/expected/repo/file1
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/file1
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashStagedChanges/expected/repo/file2 b/test/integration/stashStagedChanges/expected/repo/file2
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/file2
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashStagedChanges/expected/repo/file3 b/test/integration/stashStagedChanges/expected/repo/file3
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/file3
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashStagedChanges/recording.json b/test/integration/stashStagedChanges/recording.json
new file mode 100644
index 000000000..6668ebd74
--- /dev/null
+++ b/test/integration/stashStagedChanges/recording.json
@@ -0,0 +1 @@
+{"KeyEvents":[{"Timestamp":1280,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2255,"Mod":0,"Key":256,"Ch":106},{"Timestamp":2343,"Mod":0,"Key":256,"Ch":106},{"Timestamp":2674,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3166,"Mod":0,"Key":256,"Ch":83},{"Timestamp":4209,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4609,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4677,"Mod":0,"Key":256,"Ch":116},{"Timestamp":4764,"Mod":0,"Key":256,"Ch":97},{"Timestamp":4831,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4956,"Mod":0,"Key":256,"Ch":104},{"Timestamp":5090,"Mod":0,"Key":256,"Ch":32},{"Timestamp":5382,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5442,"Mod":0,"Key":256,"Ch":116},{"Timestamp":5529,"Mod":0,"Key":256,"Ch":97},{"Timestamp":5632,"Mod":0,"Key":256,"Ch":103},{"Timestamp":5696,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5836,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6323,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7236,"Mod":0,"Key":256,"Ch":53},{"Timestamp":8544,"Mod":0,"Key":256,"Ch":103},{"Timestamp":9140,"Mod":0,"Key":13,"Ch":13},{"Timestamp":10071,"Mod":0,"Key":256,"Ch":50},{"Timestamp":10936,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
diff --git a/test/integration/stashStagedChanges/setup.sh b/test/integration/stashStagedChanges/setup.sh
new file mode 100644
index 000000000..caff56b7d
--- /dev/null
+++ b/test/integration/stashStagedChanges/setup.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+set -e
+
+cd $1
+
+git init
+
+git config user.email "CI@example.com"
+git config user.name "CI"
+
+echo test0 > file0
+git add .
+git commit -am file0
+
+echo test1 > file1
+git add .
+git commit -am file1
+
+echo test2 > file2
+git add .
+git commit -am file2
+
+echo "hello there" > file1
+echo "hello there" > file2
+echo "hello there" > file3
diff --git a/test/integration/stashStagedChanges/test.json b/test/integration/stashStagedChanges/test.json
new file mode 100644
index 000000000..4f9314caa
--- /dev/null
+++ b/test/integration/stashStagedChanges/test.json
@@ -0,0 +1 @@
+{ "description": "Stashing some files", "speed": 5 }
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG
new file mode 100644
index 000000000..a7a2e0039
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/COMMIT_EDITMSG
@@ -0,0 +1 @@
+[lazygit] stashing unstaged changes
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/FETCH_HEAD b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/FETCH_HEAD
new file mode 100644
index 000000000..e69de29bb
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/HEAD b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/HEAD
new file mode 100644
index 000000000..cb089cd89
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/HEAD
@@ -0,0 +1 @@
+ref: refs/heads/master
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD
new file mode 100644
index 000000000..a25f0f809
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD
@@ -0,0 +1 @@
+ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/config b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/config
new file mode 100644
index 000000000..596ebaeb3
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/config
@@ -0,0 +1,8 @@
+[core]
+	repositoryformatversion = 0
+	filemode = true
+	bare = false
+	logallrefupdates = true
+[user]
+	email = CI@example.com
+	name = CI
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/description b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/description
new file mode 100644
index 000000000..498b267a8
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/description
@@ -0,0 +1 @@
+Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/index b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/index
new file mode 100644
index 0000000000000000000000000000000000000000..6d965fc2eeed7c17d2a23738e2122ba3769aceed
GIT binary patch
literal 262
zcmZ?q402{*U|<4b=A=k2cFDZuRWKSTCdKgK<ZK3p#w9@M7ZA+AW+7sAWx+qKZSR5)
zz3*Il^U>a^rneYa(=u~X4S-r07(n`^tfY!zG}N56Xy))7KYq(5<wcHB!KdU|!j;eJ
zL^`FjAm$i?&B0B8+=BoTJU@&Yl=hu_xoS~(Re#GX?fDk!5Oa*cib8^1U4aZX23<o1
b11?JyKZe`)R_mMGw#<4x!Swpq>r9FO4)R78

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/info/exclude b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/info/exclude
new file mode 100644
index 000000000..a5196d1be
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/info/exclude
@@ -0,0 +1,6 @@
+# git ls-files --others --exclude-from=.git/info/exclude
+# Lines that start with '#' are comments.
+# For a project mostly in C, the following would be a good set of
+# exclude patterns (uncomment them if you want to use them):
+# *.[oa]
+# *~
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD
new file mode 100644
index 000000000..c1a19352a
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD
@@ -0,0 +1,6 @@
+0000000000000000000000000000000000000000 84988130b443577e2afc62d4103f92fcbed33add CI <CI@example.com> 1650002439 +0200	commit (initial): file0
+84988130b443577e2afc62d4103f92fcbed33add c884f894908d3042f54995005b8e3445958b2fcc CI <CI@example.com> 1650002439 +0200	commit: file1
+c884f894908d3042f54995005b8e3445958b2fcc 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002439 +0200	commit: file2
+74244487ab29dc413ae1f98e4fa40256a0787212 ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b CI <CI@example.com> 1650002447 +0200	commit: [lazygit] stashing unstaged changes
+ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b CI <CI@example.com> 1650002447 +0200	reset: moving to HEAD
+ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002447 +0200	reset: moving to HEAD^
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master
new file mode 100644
index 000000000..02ecdf692
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master
@@ -0,0 +1,5 @@
+0000000000000000000000000000000000000000 84988130b443577e2afc62d4103f92fcbed33add CI <CI@example.com> 1650002439 +0200	commit (initial): file0
+84988130b443577e2afc62d4103f92fcbed33add c884f894908d3042f54995005b8e3445958b2fcc CI <CI@example.com> 1650002439 +0200	commit: file1
+c884f894908d3042f54995005b8e3445958b2fcc 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002439 +0200	commit: file2
+74244487ab29dc413ae1f98e4fa40256a0787212 ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b CI <CI@example.com> 1650002447 +0200	commit: [lazygit] stashing unstaged changes
+ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002447 +0200	reset: moving to HEAD^
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
new file mode 100644
index 0000000000000000000000000000000000000000..f74bf2335bbc5999ad0faff94fb04165d8ab5c7d
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@DUS(>~ZE#08nZNMgRZ+

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
new file mode 100644
index 0000000000000000000000000000000000000000..79fcadf67fdecb0f0cffca7ff27b2ae5c031e4d7
GIT binary patch
literal 50
zcmV-20L}k+0V^p=O;s>9W-v4`Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
I033l4YT~68jQ{`u

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
new file mode 100644
index 0000000000000000000000000000000000000000..06c9cb73d7a8ed6841ce407bd6bb15235c8fa15c
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@BtHp>|y2)08mZ`J^%m!

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d
new file mode 100644
index 000000000..205ac4dc4
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d
@@ -0,0 +1,2 @@
+x���j�0Ds�W�=P6�Z�K)���
��]ie"9�
+$���{n��xa�y�Б��U�	�9Eo]HñCI�ȓ�O�O�͍W-4z�m�Ul�AuJ��tAe�(��uZV8���t����U?’��`{D��C4�mRU���\�>`)�yk�ϗ\�����[�m�������e���#�N�
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
new file mode 100644
index 0000000000000000000000000000000000000000..6a6f2436255b8a831b87262c4d030c7d63af046b
GIT binary patch
literal 81
zcmV-X0IvUd0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
nND2%Yjvv2elky_RsNhrbEaA#$bt0Y8Sx5?uuqprm;XNz0$Rj03

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
new file mode 100644
index 000000000..c84b87a17
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
@@ -0,0 +1,3 @@
+x+)JMU��d040031QH��I5`������ֶw���w.��h�T�[H
+��e��"Ǩ�S�,��gu"��YH
+�$x~5(�;�rբ���W��-�Ж+^
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/74/244487ab29dc413ae1f98e4fa40256a0787212 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/74/244487ab29dc413ae1f98e4fa40256a0787212
new file mode 100644
index 0000000000000000000000000000000000000000..3a76ae79effe1c72a419c2210cf38012f46a303c
GIT binary patch
literal 147
zcmV;E0Brww0gaA93d0}}0DJZo-V0@2HQ9wy3OVH&x~?=3n-DDY`OOo09cEx;Yi;S)
zF<$ziYFUZW2t}w6mV&9~S|Ye{&^nSjBJ^2M%$^Q?cPm7p5(fq<9s<@Fm?J>Uq&|em
zkup{hlRo{m9d?@SeVU*8O>JNGCR=-0H=F@r@NBPu0Oq9URM$UsQ<qiI`~Y64ITI{S
BK@I=_

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/84/988130b443577e2afc62d4103f92fcbed33add b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/84/988130b443577e2afc62d4103f92fcbed33add
new file mode 100644
index 0000000000000000000000000000000000000000..2e8429425b871e8af3c5bd6fd578e5f971f90e35
GIT binary patch
literal 118
zcmV-+0Ez#20gcT;3WG2ZM&Yh=irE*+B#yBIMGCGwMq>U@!4Q!YJbpbww~r6rQcGDI
zS&>^i0J7-dhp4J4+J5jMS%9B0OJ)~Sb_!7uXTrCA>Os>?uW5ec3}xT&SZW!``ktAc
YbV_%2%;u`sq~T9)^16Y|57)jc*!@d5lmGw#

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
new file mode 100644
index 0000000000000000000000000000000000000000..0e95eb06dda15fe1901a7942e7954b700b36bfa9
GIT binary patch
literal 101
zcmV-r0Gj`J0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF-Y+IFltcRckbn?Md4NbEw8laTc`s7
H>2WLwJR>kD

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
new file mode 100644
index 0000000000000000000000000000000000000000..285df3e5fbab12262e28d85e78af8a31cd0024c1
GIT binary patch
literal 21
ccmb<m^geacKgb|i!&6t!@Cg%x>`~^A08nuUMF0Q*

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c2/71c5cc28c056383278c655b4e227fa69b06073 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c2/71c5cc28c056383278c655b4e227fa69b06073
new file mode 100644
index 0000000000000000000000000000000000000000..9eb55491472fd9e6f7fe5d602e168001cf8a1a52
GIT binary patch
literal 185
zcmV;q07n0K0gcZwY6CG4M&Z<Z3iW|7tI<fS5JJF}tDIp*`jrHtU9*-U$ImwI-9EnN
zm96)m;k@wE*a0U6Eo*~D<y4p4vKROOYiZVsVv+0IC`}jLu?~kCXh{^z1Qvx0v;esv
zEP^(h5i}{;-Lo!Li?B6eun(;4MKj14O+2R<fE4PaxADF0?sRr<r}GE?v|oPlQnvo?
n<|stuLrCtKJkfO2V`AVzK7FpP>-F%j?zUcsexd#YQSMH|DN$cx

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
new file mode 100644
index 0000000000000000000000000000000000000000..ee4385f12cb5e2fea6044749c3960a2c40be7b9e
GIT binary patch
literal 28
kcmb<m^geacKghr&>4eAGlPAM9PI~BiJ!N8W-osW20IwDcng9R*

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c8/84f894908d3042f54995005b8e3445958b2fcc b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c8/84f894908d3042f54995005b8e3445958b2fcc
new file mode 100644
index 0000000000000000000000000000000000000000..92422c064dd6d8da7d13d1eea47a39ec57021bbf
GIT binary patch
literal 148
zcmV;F0Biqv0gcWv3d1lAK+(=Vh4(^{CC84SltQK)Ly=_~NSY8_=<%B)bp5>H>$a|Q
z^MUcw4l`dMCskGj78SulsZN@OyIRPQAVrQT2Di&$@8<i+eIE#>7^%zIP^u;@F#uJ@
zs*@EWDaFaBy|%*-qrVU1)4sCqi`{fvA3mfG05B5!D<FV7>p9izPwwixSa3g*wK<@8
CD@UvV

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
new file mode 100644
index 000000000..2e9066287
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
@@ -0,0 +1,2 @@
+x+)JMU03c040031QH��I5`������ֶw���w.��h�T�[H
+��y�W5�Ɨ��(�|�^-�W(x9
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b
new file mode 100644
index 0000000000000000000000000000000000000000..b7c7df645bc8e489f7be3691c80d36c37b6b6b2a
GIT binary patch
literal 176
zcmV;h08jsT0gaA9YQr!PMZ4B1W?v}d$wV4K2!X6}hLXid9@&Q24z>bqPhTA&yZ;}b
z$It6LPZfyhqi$y4eM(s{=3YxLKI9S)gsG&!!YN5niNY-Ishceo0u#3yG*Rp`cL%ku
zL@_SPNJp<2Bv40AUv*qJxZdD&y<O}_=jX$|@;aZP^G8H%o&cXnh_2Cgs@j`#_x;en
e-(jkE*sJd2v<&cCS{$s0JnAyo?*0MHmPFUrbXNZW

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master
new file mode 100644
index 000000000..5df16c6e7
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master
@@ -0,0 +1 @@
+74244487ab29dc413ae1f98e4fa40256a0787212
diff --git a/test/integration/stashUnstagedChanges/expected/repo/file0 b/test/integration/stashUnstagedChanges/expected/repo/file0
new file mode 100644
index 000000000..38143ad4a
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/file0
@@ -0,0 +1 @@
+test0
diff --git a/test/integration/stashUnstagedChanges/expected/repo/file1 b/test/integration/stashUnstagedChanges/expected/repo/file1
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/file1
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashUnstagedChanges/expected/repo/file2 b/test/integration/stashUnstagedChanges/expected/repo/file2
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/file2
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashUnstagedChanges/expected/repo/file3 b/test/integration/stashUnstagedChanges/expected/repo/file3
new file mode 100644
index 000000000..c7c7da3c6
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/file3
@@ -0,0 +1 @@
+hello there
diff --git a/test/integration/stashUnstagedChanges/recording.json b/test/integration/stashUnstagedChanges/recording.json
new file mode 100644
index 000000000..704084fbb
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/recording.json
@@ -0,0 +1 @@
+{"KeyEvents":[{"Timestamp":1319,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2975,"Mod":0,"Key":256,"Ch":83},{"Timestamp":5557,"Mod":0,"Key":256,"Ch":117},{"Timestamp":7054,"Mod":0,"Key":256,"Ch":117},{"Timestamp":7219,"Mod":0,"Key":256,"Ch":110},{"Timestamp":7262,"Mod":0,"Key":256,"Ch":115},{"Timestamp":7319,"Mod":0,"Key":256,"Ch":116},{"Timestamp":7404,"Mod":0,"Key":256,"Ch":97},{"Timestamp":7492,"Mod":0,"Key":256,"Ch":103},{"Timestamp":7534,"Mod":0,"Key":256,"Ch":101},{"Timestamp":7679,"Mod":0,"Key":256,"Ch":100},{"Timestamp":7965,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9053,"Mod":0,"Key":256,"Ch":53},{"Timestamp":10348,"Mod":0,"Key":256,"Ch":103},{"Timestamp":10979,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12354,"Mod":0,"Key":256,"Ch":50},{"Timestamp":12874,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/setup.sh b/test/integration/stashUnstagedChanges/setup.sh
new file mode 100644
index 000000000..caff56b7d
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/setup.sh
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+set -e
+
+cd $1
+
+git init
+
+git config user.email "CI@example.com"
+git config user.name "CI"
+
+echo test0 > file0
+git add .
+git commit -am file0
+
+echo test1 > file1
+git add .
+git commit -am file1
+
+echo test2 > file2
+git add .
+git commit -am file2
+
+echo "hello there" > file1
+echo "hello there" > file2
+echo "hello there" > file3
diff --git a/test/integration/stashUnstagedChanges/test.json b/test/integration/stashUnstagedChanges/test.json
new file mode 100644
index 000000000..4f9314caa
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/test.json
@@ -0,0 +1 @@
+{ "description": "Stashing some files", "speed": 5 }

From f5f6409c2743725f01258e7660c9510bf67a0efc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?= <luka.markusic@microblink.com>
Date: Sun, 17 Apr 2022 12:21:43 +0200
Subject: [PATCH 4/6] Remove stash_Copy test

---
 .../expected/repo/.git_keep/COMMIT_EDITMSG    |   1 -
 .../expected/repo/.git_keep/FETCH_HEAD        |   0
 .../stash_Copy/expected/repo/.git_keep/HEAD   |   1 -
 .../expected/repo/.git_keep/ORIG_HEAD         |   1 -
 .../stash_Copy/expected/repo/.git_keep/config |  10 -------
 .../expected/repo/.git_keep/description       |   1 -
 .../stash_Copy/expected/repo/.git_keep/index  | Bin 281 -> 0 bytes
 .../expected/repo/.git_keep/info/exclude      |   7 -----
 .../expected/repo/.git_keep/logs/HEAD         |   6 ----
 .../repo/.git_keep/logs/refs/heads/master     |   3 --
 .../expected/repo/.git_keep/logs/refs/stash   |   2 --
 .../18/0cf8328022becee9aaa2577a8f84ea2b9f3827 | Bin 21 -> 0 bytes
 .../1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 | Bin 50 -> 0 bytes
 .../25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc | Bin 161 -> 0 bytes
 .../2e/fac8148440778cbddcd80ac7477981277dcffe |   1 -
 .../38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da | Bin 21 -> 0 bytes
 .../3b/29b35d4357f8e64cafd95140a70d7c9b25138a | Bin 162 -> 0 bytes
 .../4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d | Bin 147 -> 0 bytes
 .../56/52247b638d1516506790d6648b864ba3447f68 | Bin 127 -> 0 bytes
 .../5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 | Bin 81 -> 0 bytes
 .../66/bbc809cdafd867cf9320bfb7484bb8fa898448 |   3 --
 .../9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c | Bin 101 -> 0 bytes
 .../9f/2757166809c291c65f09778abb46cfcc4e4a0c | Bin 107 -> 0 bytes
 .../a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 | Bin 21 -> 0 bytes
 .../a6/ada9f3d895e751ec289c69913a02146c0ca844 | Bin 191 -> 0 bytes
 .../a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b | Bin 118 -> 0 bytes
 .../c7/c7da3c64e86c3270f2639a1379e67e14891b6a | Bin 28 -> 0 bytes
 .../d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 |   2 --
 .../e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065 | Bin 184 -> 0 bytes
 .../f3/48ff60bdbb3695f2f519db6bc115b1b8d50886 | Bin 147 -> 0 bytes
 .../expected/repo/.git_keep/refs/heads/master |   1 -
 .../expected/repo/.git_keep/refs/stash        |   1 -
 .../stash_Copy/expected/repo/file0            |   1 -
 .../stash_Copy/expected/repo/file1            |   1 -
 .../stash_Copy/expected/repo/file2            |   1 -
 test/integration/stash_Copy/recording.json    |   1 -
 test/integration/stash_Copy/setup.sh          |  26 ------------------
 test/integration/stash_Copy/test.json         |   1 -
 38 files changed, 71 deletions(-)
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/COMMIT_EDITMSG
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/FETCH_HEAD
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/HEAD
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/ORIG_HEAD
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/config
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/description
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/index
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/info/exclude
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/logs/HEAD
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/heads/master
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/stash
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/3b/29b35d4357f8e64cafd95140a70d7c9b25138a
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/a6/ada9f3d895e751ec289c69913a02146c0ca844
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/objects/f3/48ff60bdbb3695f2f519db6bc115b1b8d50886
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/refs/heads/master
 delete mode 100644 test/integration/stash_Copy/expected/repo/.git_keep/refs/stash
 delete mode 100644 test/integration/stash_Copy/expected/repo/file0
 delete mode 100644 test/integration/stash_Copy/expected/repo/file1
 delete mode 100644 test/integration/stash_Copy/expected/repo/file2
 delete mode 100644 test/integration/stash_Copy/recording.json
 delete mode 100644 test/integration/stash_Copy/setup.sh
 delete mode 100644 test/integration/stash_Copy/test.json

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration/stash_Copy/expected/repo/.git_keep/COMMIT_EDITMSG
deleted file mode 100644
index 6c493ff74..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/COMMIT_EDITMSG
+++ /dev/null
@@ -1 +0,0 @@
-file2
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/FETCH_HEAD b/test/integration/stash_Copy/expected/repo/.git_keep/FETCH_HEAD
deleted file mode 100644
index e69de29bb..000000000
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/HEAD b/test/integration/stash_Copy/expected/repo/.git_keep/HEAD
deleted file mode 100644
index cb089cd89..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/HEAD
+++ /dev/null
@@ -1 +0,0 @@
-ref: refs/heads/master
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stash_Copy/expected/repo/.git_keep/ORIG_HEAD
deleted file mode 100644
index 78e4eb58e..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/ORIG_HEAD
+++ /dev/null
@@ -1 +0,0 @@
-f348ff60bdbb3695f2f519db6bc115b1b8d50886
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/config b/test/integration/stash_Copy/expected/repo/.git_keep/config
deleted file mode 100644
index 8ae104545..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/config
+++ /dev/null
@@ -1,10 +0,0 @@
-[core]
-	repositoryformatversion = 0
-	filemode = true
-	bare = false
-	logallrefupdates = true
-	ignorecase = true
-	precomposeunicode = true
-[user]
-	email = CI@example.com
-	name = CI
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/description b/test/integration/stash_Copy/expected/repo/.git_keep/description
deleted file mode 100644
index 498b267a8..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/description
+++ /dev/null
@@ -1 +0,0 @@
-Unnamed repository; edit this file 'description' to name the repository.
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/index b/test/integration/stash_Copy/expected/repo/.git_keep/index
deleted file mode 100644
index daebfa4ef6fda597412bbd7efb7150e89f3eec9d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 281
zcmZ?q402{*U|<4b=EQfgZ^R^T*Mn%075AnwGBB_*DgI7jU}#*zz`*zws73^c*(^k?
zt}OVcwe4N-q4%9jZ$8>P)$|qvYg%SbssT_M9{`zy0895g{;QgL<4Z(n6i>d>g#fRX
z?yC@U48e*(?vVJ}*bbt_CvN@$bx#_)dn9;%7&R#EJNI(cqVTHzmRH*IEz}|A7=g_R
z337D>G9(#{6%4rMbu8ySaYOgg`u$fK%idQ!>`>mL<KNcR_A2$!k*r-cA))!p)>IW7
Gp8^2b0a`u)

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/info/exclude b/test/integration/stash_Copy/expected/repo/.git_keep/info/exclude
deleted file mode 100644
index 8e9f2071f..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/info/exclude
+++ /dev/null
@@ -1,7 +0,0 @@
-# git ls-files --others --exclude-from=.git/info/exclude
-# Lines that start with '#' are comments.
-# For a project mostly in C, the following would be a good set of
-# exclude patterns (uncomment them if you want to use them):
-# *.[oa]
-# *~
-.DS_Store
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/logs/HEAD b/test/integration/stash_Copy/expected/repo/.git_keep/logs/HEAD
deleted file mode 100644
index f95cf06ac..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/logs/HEAD
+++ /dev/null
@@ -1,6 +0,0 @@
-0000000000000000000000000000000000000000 a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b CI <CI@example.com> 1643011553 +1100	commit (initial): file0
-a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b 4cc838ea1466afc5be1d3bc3e7a937641ec84d7d CI <CI@example.com> 1643011553 +1100	commit: file1
-4cc838ea1466afc5be1d3bc3e7a937641ec84d7d f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011553 +1100	commit: file2
-f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011556 +1100	reset: moving to HEAD
-f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011556 +1100	reset: moving to HEAD
-f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011558 +1100	reset: moving to HEAD
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/heads/master
deleted file mode 100644
index d1bf421f8..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/heads/master
+++ /dev/null
@@ -1,3 +0,0 @@
-0000000000000000000000000000000000000000 a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b CI <CI@example.com> 1643011553 +1100	commit (initial): file0
-a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b 4cc838ea1466afc5be1d3bc3e7a937641ec84d7d CI <CI@example.com> 1643011553 +1100	commit: file1
-4cc838ea1466afc5be1d3bc3e7a937641ec84d7d f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011553 +1100	commit: file2
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/stash b/test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/stash
deleted file mode 100644
index 3f07cf22e..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/logs/refs/stash
+++ /dev/null
@@ -1,2 +0,0 @@
-0000000000000000000000000000000000000000 e09b4dfcd66bfa1c81feeaf67e04d55368a2b065 CI <CI@example.com> 1643011556 +1100	On master: asd
-e09b4dfcd66bfa1c81feeaf67e04d55368a2b065 2efac8148440778cbddcd80ac7477981277dcffe CI <CI@example.com> 1643011558 +1100	On master: asd
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
deleted file mode 100644
index f74bf2335bbc5999ad0faff94fb04165d8ab5c7d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21
ccmb<m^geacKgb|i!&6t!@DUS(>~ZE#08nZNMgRZ+

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
deleted file mode 100644
index 79fcadf67fdecb0f0cffca7ff27b2ae5c031e4d7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 50
zcmV-20L}k+0V^p=O;s>9W-v4`Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
I033l4YT~68jQ{`u

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc b/test/integration/stash_Copy/expected/repo/.git_keep/objects/25/abc3e66a6aa505fb0a2ceb6ad5cda0cc89ecbc
deleted file mode 100644
index aab767a086e05e43391e8ca7089f727787fcb744..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmV;S0ABxi0gaA93c@fD06pgwdlw{|WVc%p5qjz~vQ2^o(@Krt^X<jE*I@=`T5Fvf
zIP4B>%NdBtxzH(lNl3_Kx$A9W4x++AqYt4gEan-vyfi32NGWVJse10IxI)+`Wt|X7
zQ6-TTVH4l&zHTs#a2dv1{>1ux<kPg)D<B7Ncbf!`h}N2&?o%!QshfF8`2*_$HNN)h
P{JVlOKe97ldgnk{;-5@j

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe b/test/integration/stash_Copy/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe
deleted file mode 100644
index 54545b630..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/objects/2e/fac8148440778cbddcd80ac7477981277dcffe
+++ /dev/null
@@ -1 +0,0 @@
-x��Aj1������4v)%�UV=�$˴Pg�ą��t����g{�b�O�p���F[`�X,�`L
˶eQMl�,y��.���5�����\��F�Te�H��J�3��H��:��!5E���R��[.nj�|�����^/׳�H�����
�g�2�B@\�:O�'_�o��1�ȣ���K�
\ No newline at end of file
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/stash_Copy/expected/repo/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
deleted file mode 100644
index 06c9cb73d7a8ed6841ce407bd6bb15235c8fa15c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21
ccmb<m^geacKgb|i!&6t!@BtHp>|y2)08mZ`J^%m!

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/3b/29b35d4357f8e64cafd95140a70d7c9b25138a b/test/integration/stash_Copy/expected/repo/.git_keep/objects/3b/29b35d4357f8e64cafd95140a70d7c9b25138a
deleted file mode 100644
index 1b8805172a383685de99180dfbc10a7b583a5a5f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 162
zcmV;T0A2rh0gaA93c@fD06pgwdlw{WlkG-Cgr540Y?8%-X-kdJ=bMXnufq&XTuYfN
zbY?i!J!e2<j--7|K@#B*#rK_N;lYw+CJE%pT2fos^HM>2OCqQ_G56@5bmELpj2w+|
zY?zYMM5w~2KGz+_32x)`$VVvKD_`PT?qJaNy4eolY>d{b(Kc1{pSqftln+=JDB<0z
Q>+cF=e&tSm0rw<AJ%qtf!~g&Q

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d b/test/integration/stash_Copy/expected/repo/.git_keep/objects/4c/c838ea1466afc5be1d3bc3e7a937641ec84d7d
deleted file mode 100644
index bc099c320aee7bfb2e74116c57a07b0d07611395..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcX03c^4PKw;N&irEV?ng4)@&{dC-W)dv4wv-V(zCD85$G3RAt?S$^
zpuhA(#5PwlGcr3QCh{$0owyJtZ9#l+IbzHa%ua{AyQR{aB%jp_232ykV$n&NJY!{v
zj;d0c41M}*JM1vp`!GJ`OY6SKjkon-A;;hVQVRA8;G8+@Io0J)ZggG*%nvf*I?q4i
BM}GhS

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/56/52247b638d1516506790d6648b864ba3447f68
deleted file mode 100644
index 8535af67cc32e9e5e4eea5f934d892197159292d..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 127
zcmV-_0D%8^0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
zTSy8F8J6yO{8u&g#+QiDD4u+$3jtm&-B*zm7%@oj{4i=z+IQ~dszu>d{VlJw=Ub>F
hDKKU@e*BhA%8MMMf=|h_ge#xbiF8V50RVKTIZZy{I~D){

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/5c/ef9afea6a37d89f925e24ebf71adecb63d1f07
deleted file mode 100644
index 6a6f2436255b8a831b87262c4d030c7d63af046b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 81
zcmV-X0IvUd0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
nND2%Yjvv2elky_RsNhrbEaA#$bt0Y8Sx5?uuqprm;XNz0$Rj03

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
deleted file mode 100644
index c84b87a17..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
+++ /dev/null
@@ -1,3 +0,0 @@
-x+)JMU��d040031QH��I5`������ֶw���w.��h�T�[H
-��e��"Ǩ�S�,��gu"��YH
-�$x~5(�;�rբ���W��-�Ж+^
\ No newline at end of file
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c b/test/integration/stash_Copy/expected/repo/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
deleted file mode 100644
index 0e95eb06dda15fe1901a7942e7954b700b36bfa9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 101
zcmV-r0Gj`J0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF-Y+IFltcRckbn?Md4NbEw8laTc`s7
H>2WLwJR>kD

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c b/test/integration/stash_Copy/expected/repo/.git_keep/objects/9f/2757166809c291c65f09778abb46cfcc4e4a0c
deleted file mode 100644
index 539f9791905e17d0a85ce5884381ce25c523a355..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 107
zcmV-x0F?iD0V^p=O;s>7HexU|FfcPQQAo?oNi|@w5V5+l;GfpEcfp6=cP_p8Xzx_h
zTSy8F8J6yO{8u&g#+QiDD4u+$3jtm&-B*zm7%?0_e#<81MUGLyr{r0}mCx!#I;FFa
N6c}Sw005AMIi$QpFR=gs

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
deleted file mode 100644
index 285df3e5fbab12262e28d85e78af8a31cd0024c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 21
ccmb<m^geacKgb|i!&6t!@Cg%x>`~^A08nuUMF0Q*

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/a6/ada9f3d895e751ec289c69913a02146c0ca844 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/a6/ada9f3d895e751ec289c69913a02146c0ca844
deleted file mode 100644
index 0cdd88ea01086a9f483371d5a3ed867a033a7df4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 191
zcmV;w06_nE0gaElY6LM1MN`jLs1F3ow)|K^2y8W7y3~>_k%jfnGI1cEpJ}#FdpY;O
zY1<f=2|oF!xvK&-waTWPIOJZcRZr@pie==kO;YG+E-!c9^)|smEN00`7YV77c_XY{
zk~BmTl+wwSk{)~zUnNkFfwC1%v9a|^7#(NVbF1PBL*a#g=GV5vd4<>W`mVn`?pJ+j
t+js*^F}TA{37!$1TaNXJnEFqA`CLC>yTRb^<8yj6fL*TY{{SjyPcu(sUbFxJ

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b b/test/integration/stash_Copy/expected/repo/.git_keep/objects/a7/dde526f2e93ffa08897fbfca2c98ce40a8fa5b
deleted file mode 100644
index 9dcd075d6e7cddcfdb4fbf70e13e4b441151aa9a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{NhYZQ5uvLdBWeC%p`oQj@c8x!ZXX}Kd24Oy
zB&wHw03>h-Lyj?)EPe>72*CGTwX)5n+6axR)}&8=ZwHMNJ;v#UZ)*FB+q|_WNl?ck
Y-aERAFq^ZUla4>RsmlsBKi88h)?zI;=>Px#

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a b/test/integration/stash_Copy/expected/repo/.git_keep/objects/c7/c7da3c64e86c3270f2639a1379e67e14891b6a
deleted file mode 100644
index ee4385f12cb5e2fea6044749c3960a2c40be7b9e..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 28
kcmb<m^geacKghr&>4eAGlPAM9PI~BiJ!N8W-osW20IwDcng9R*

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
deleted file mode 100644
index 2e9066287..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641
+++ /dev/null
@@ -1,2 +0,0 @@
-x+)JMU03c040031QH��I5`������ֶw���w.��h�T�[H
-��y�W5�Ɨ��(�|�^-�W(x9
\ No newline at end of file
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/e0/9b4dfcd66bfa1c81feeaf67e04d55368a2b065
deleted file mode 100644
index f57ce417b7d66e70e33708d0443088b0af141a69..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 184
zcmV;p07w6L0gcZ+YD6&%1mM)~6z&&-e<WEBAuMdQRn8#U774`rmbVV%_;Hgy?eH<f
z)P0Q4=_2scJbHITs+E1IO{_8HY9&RlrWqJi*@O!N@OGD@-=?z!Y(`$2YNCP`4MS;4
zT0=k$$_+g;{rRM^Xu<{wvvDV=Yo}lUFWI+Ti$)BIWs~puu^;Yob+4D}x&O$xfA#0O
mk2e<xl3(pe?i7Oe+e+7o+5gG6_nRB?SpLPyqx}M5T}qbSJzZu1

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/objects/f3/48ff60bdbb3695f2f519db6bc115b1b8d50886 b/test/integration/stash_Copy/expected/repo/.git_keep/objects/f3/48ff60bdbb3695f2f519db6bc115b1b8d50886
deleted file mode 100644
index 8faee1fcd666d7a3fde6a931ebaa2942a53dc5af..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcX03c@fDKw;N8MfQSZ@;e0)p{pKaIy1pSV@rwP@$C`ZKEB1{t+l0F
z82qIls&-IBDoz*$y@;neS4j>^)>=>j(TABmo1G4QcN>{8pc2HKsdAbX<OD$r4WZ-+
z${3}Hp-+EphaD$-AE&2&sqL%Ycxw*}IR*!iQm|J5=ge8psjh!=Q<qh}`2h{CI(fJ?
BK@9)^

diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/refs/heads/master b/test/integration/stash_Copy/expected/repo/.git_keep/refs/heads/master
deleted file mode 100644
index 78e4eb58e..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/refs/heads/master
+++ /dev/null
@@ -1 +0,0 @@
-f348ff60bdbb3695f2f519db6bc115b1b8d50886
diff --git a/test/integration/stash_Copy/expected/repo/.git_keep/refs/stash b/test/integration/stash_Copy/expected/repo/.git_keep/refs/stash
deleted file mode 100644
index 9123248e5..000000000
--- a/test/integration/stash_Copy/expected/repo/.git_keep/refs/stash
+++ /dev/null
@@ -1 +0,0 @@
-2efac8148440778cbddcd80ac7477981277dcffe
diff --git a/test/integration/stash_Copy/expected/repo/file0 b/test/integration/stash_Copy/expected/repo/file0
deleted file mode 100644
index 38143ad4a..000000000
--- a/test/integration/stash_Copy/expected/repo/file0
+++ /dev/null
@@ -1 +0,0 @@
-test0
diff --git a/test/integration/stash_Copy/expected/repo/file1 b/test/integration/stash_Copy/expected/repo/file1
deleted file mode 100644
index c7c7da3c6..000000000
--- a/test/integration/stash_Copy/expected/repo/file1
+++ /dev/null
@@ -1 +0,0 @@
-hello there
diff --git a/test/integration/stash_Copy/expected/repo/file2 b/test/integration/stash_Copy/expected/repo/file2
deleted file mode 100644
index 180cf8328..000000000
--- a/test/integration/stash_Copy/expected/repo/file2
+++ /dev/null
@@ -1 +0,0 @@
-test2
diff --git a/test/integration/stash_Copy/recording.json b/test/integration/stash_Copy/recording.json
deleted file mode 100644
index 48fc35158..000000000
--- a/test/integration/stash_Copy/recording.json
+++ /dev/null
@@ -1 +0,0 @@
-{"KeyEvents":[{"Timestamp":809,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1369,"Mod":0,"Key":256,"Ch":83},{"Timestamp":1713,"Mod":0,"Key":258,"Ch":0},{"Timestamp":2087,"Mod":0,"Key":13,"Ch":13},{"Timestamp":2376,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2440,"Mod":0,"Key":256,"Ch":115},{"Timestamp":2512,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2793,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3498,"Mod":0,"Key":258,"Ch":0},{"Timestamp":4113,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4785,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5145,"Mod":0,"Key":256,"Ch":97},{"Timestamp":5183,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5249,"Mod":0,"Key":256,"Ch":100},{"Timestamp":5609,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6216,"Mod":0,"Key":259,"Ch":0},{"Timestamp":6457,"Mod":0,"Key":259,"Ch":0},{"Timestamp":6728,"Mod":0,"Key":259,"Ch":0},{"Timestamp":7098,"Mod":0,"Key":258,"Ch":0},{"Timestamp":7408,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8080,"Mod":0,"Key":13,"Ch":13},{"Timestamp":8752,"Mod":0,"Key":260,"Ch":0},{"Timestamp":8952,"Mod":0,"Key":260,"Ch":0},{"Timestamp":9145,"Mod":0,"Key":260,"Ch":0},{"Timestamp":9904,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
\ No newline at end of file
diff --git a/test/integration/stash_Copy/setup.sh b/test/integration/stash_Copy/setup.sh
deleted file mode 100644
index caff56b7d..000000000
--- a/test/integration/stash_Copy/setup.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-
-set -e
-
-cd $1
-
-git init
-
-git config user.email "CI@example.com"
-git config user.name "CI"
-
-echo test0 > file0
-git add .
-git commit -am file0
-
-echo test1 > file1
-git add .
-git commit -am file1
-
-echo test2 > file2
-git add .
-git commit -am file2
-
-echo "hello there" > file1
-echo "hello there" > file2
-echo "hello there" > file3
diff --git a/test/integration/stash_Copy/test.json b/test/integration/stash_Copy/test.json
deleted file mode 100644
index 4f9314caa..000000000
--- a/test/integration/stash_Copy/test.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "description": "Stashing some files", "speed": 5 }

From eb038d1950909f666ff2262f83f66e5b26bf1e71 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?= <luka.markusic@microblink.com>
Date: Mon, 18 Apr 2022 10:29:36 +0200
Subject: [PATCH 5/6] Update stashPop and stashDrop setups

---
 .../stashDrop/expected/repo/.git_keep/ORIG_HEAD |   2 +-
 .../stashDrop/expected/repo/.git_keep/index     | Bin 262 -> 281 bytes
 .../stashDrop/expected/repo/.git_keep/logs/HEAD |  10 ++++------
 .../repo/.git_keep/logs/refs/heads/master       |   6 +++---
 .../0d/b7c2bffa900585f06112e5b06f8f358638f447   |   4 ----
 .../0e/84352ca8531152e477715812e6e275d986984e   |   3 +++
 .../1c/88e069f3e318f1e0e02188cf65d360ab4eab67   | Bin 185 -> 0 bytes
 .../1e/a8d05b2cbc972b48eae3181e846f82eeab50ef   | Bin 118 -> 0 bytes
 .../2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf   |   1 -
 .../5a/0e5672e3ccb264c401de9b84957c53138cd32c   | Bin 0 -> 162 bytes
 .../66/bbc809cdafd867cf9320bfb7484bb8fa898448   |   3 ---
 .../75/a47f9be3d041530e975683cde13a62ddc65007   |   2 ++
 .../87/82cd42420de6a24264417d43d50ada9aa53ad5   | Bin 162 -> 0 bytes
 .../8e/724d42465144007f28d45514537886f527eef9   | Bin 146 -> 0 bytes
 .../8e/b0f6c64dea2004a684ea55f9589b71b45d76a6   | Bin 100 -> 0 bytes
 .../91/a35446b7de806c46cd84a8574b2302443a5868   | Bin 0 -> 147 bytes
 .../a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d   | Bin 182 -> 0 bytes
 .../be/a28eaac7bdaf99371daf5b9a788061a12308f4   | Bin 0 -> 118 bytes
 .../f1/963e622e30276cf4e5880109ea475434d6f2ae   | Bin 146 -> 0 bytes
 .../expected/repo/.git_keep/refs/heads/master   |   2 +-
 test/integration/stashDrop/expected/repo/file1  |   2 +-
 test/integration/stashDrop/recording.json       |   2 +-
 test/integration/stashDrop/setup.sh             |   2 ++
 .../stashPop/expected/repo/.git_keep/ORIG_HEAD  |   2 +-
 .../stashPop/expected/repo/.git_keep/index      | Bin 262 -> 262 bytes
 .../stashPop/expected/repo/.git_keep/logs/HEAD  |   9 ++++-----
 .../repo/.git_keep/logs/refs/heads/master       |   6 +++---
 .../expected/repo/.git_keep/logs/refs/stash     |   1 -
 .../01/38b2ed57b0412b2c2244a267fc1396f06ac287   |   2 --
 .../2d/79a3b4f905a83d994f860d3d91625fab899422   |   1 +
 .../2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0   | Bin 118 -> 0 bytes
 .../42/ffa95ec8ce68b4bf04d4dab6c03283e61f4bda   |   3 +++
 .../4a/80cc4f1537d7ce4f184f346c9ba7c51bb34aee   |   2 ++
 .../5e/6c498354e93f4049e80254810f4577b180a8ab   |   2 --
 .../60/5615b78c181314a7a019e116647bfdf9127c94   | Bin 147 -> 0 bytes
 .../66/bbc809cdafd867cf9320bfb7484bb8fa898448   |   3 ---
 .../8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930   | Bin 183 -> 0 bytes
 .../a8/4a187f63b05bb43f19cfbc8bedab97ed33272d   | Bin 162 -> 0 bytes
 .../b8/372ee9ddb68d8b15c440d86d21b6199583fb26   |   3 ---
 .../f2/6e5e813038fe0c31c4733d57fcf93758736e71   | Bin 0 -> 147 bytes
 .../f9/bd523df842e6b52de8880c366f7d15d6bab650   |   2 ++
 .../expected/repo/.git_keep/refs/heads/master   |   2 +-
 .../stashPop/expected/repo/.git_keep/refs/stash |   1 -
 test/integration/stashPop/recording.json        |   2 +-
 test/integration/stashPop/setup.sh              |   2 ++
 45 files changed, 38 insertions(+), 44 deletions(-)
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/0e/84352ca8531152e477715812e6e275d986984e
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/1c/88e069f3e318f1e0e02188cf65d360ab4eab67
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/1e/a8d05b2cbc972b48eae3181e846f82eeab50ef
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/5a/0e5672e3ccb264c401de9b84957c53138cd32c
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/75/a47f9be3d041530e975683cde13a62ddc65007
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/87/82cd42420de6a24264417d43d50ada9aa53ad5
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/8e/724d42465144007f28d45514537886f527eef9
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/91/a35446b7de806c46cd84a8574b2302443a5868
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d
 create mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/be/a28eaac7bdaf99371daf5b9a788061a12308f4
 delete mode 100644 test/integration/stashDrop/expected/repo/.git_keep/objects/f1/963e622e30276cf4e5880109ea475434d6f2ae
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/2d/79a3b4f905a83d994f860d3d91625fab899422
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/42/ffa95ec8ce68b4bf04d4dab6c03283e61f4bda
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/4a/80cc4f1537d7ce4f184f346c9ba7c51bb34aee
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/60/5615b78c181314a7a019e116647bfdf9127c94
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/a8/4a187f63b05bb43f19cfbc8bedab97ed33272d
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/f2/6e5e813038fe0c31c4733d57fcf93758736e71
 create mode 100644 test/integration/stashPop/expected/repo/.git_keep/objects/f9/bd523df842e6b52de8880c366f7d15d6bab650
 delete mode 100644 test/integration/stashPop/expected/repo/.git_keep/refs/stash

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD
index 7bd761f02..11345d776 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashDrop/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-f1963e622e30276cf4e5880109ea475434d6f2ae
+91a35446b7de806c46cd84a8574b2302443a5868
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/index b/test/integration/stashDrop/expected/repo/.git_keep/index
index 8256e1e361ac97a49ad43baf8076b6bed053e829..a201208c88235bb656251ccf533ad076122fa146 100644
GIT binary patch
delta 162
zcmZo;n#rW%;u+-3z`(!+#LP*tidrJ>ZGkWvC?>`5S!eb{6$1^Bm}teOQ!pATcb$Qu
zaS2fC3kYUln^>bLj$P@EiCfI|BpHkq47lcXEayFOL-*49{Z|>w-d8;AP~M|ca^9{z
VT=7R1%e_y^PHMFuZML`{000zzH5~u|

delta 143
zcmbQq)W)RZ;u+-3z`(!+#LP*NT)Ku%(!wwrC?>`5;f(l16$1?*8wY4yf-EtyMo~PH
z%hH_rdIQiHFb$Lj8MAxh7ISGf23<o11Fq|{4;N;?7f+kY@+W<#%$}m+Eo$2UeTE+z

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD b/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD
index 96a7a7d7a..b3b2d9888 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashDrop/expected/repo/.git_keep/logs/HEAD
@@ -1,6 +1,4 @@
-0000000000000000000000000000000000000000 1ea8d05b2cbc972b48eae3181e846f82eeab50ef CI <CI@example.com> 1650002477 +0200	commit (initial): file0
-1ea8d05b2cbc972b48eae3181e846f82eeab50ef 8e724d42465144007f28d45514537886f527eef9 CI <CI@example.com> 1650002477 +0200	commit: file1
-8e724d42465144007f28d45514537886f527eef9 f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002477 +0200	commit: file2
-f1963e622e30276cf4e5880109ea475434d6f2ae f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002483 +0200	reset: moving to HEAD
-f1963e622e30276cf4e5880109ea475434d6f2ae f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002483 +0200	reset: moving to HEAD
-f1963e622e30276cf4e5880109ea475434d6f2ae f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002489 +0200	reset: moving to HEAD
+0000000000000000000000000000000000000000 bea28eaac7bdaf99371daf5b9a788061a12308f4 CI <CI@example.com> 1650270506 +0200	commit (initial): file0
+bea28eaac7bdaf99371daf5b9a788061a12308f4 0e84352ca8531152e477715812e6e275d986984e CI <CI@example.com> 1650270506 +0200	commit: file1
+0e84352ca8531152e477715812e6e275d986984e 91a35446b7de806c46cd84a8574b2302443a5868 CI <CI@example.com> 1650270506 +0200	commit: file2
+91a35446b7de806c46cd84a8574b2302443a5868 91a35446b7de806c46cd84a8574b2302443a5868 CI <CI@example.com> 1650270506 +0200	reset: moving to HEAD
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master
index f257dee84..06a7a9d1d 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashDrop/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 1ea8d05b2cbc972b48eae3181e846f82eeab50ef CI <CI@example.com> 1650002477 +0200	commit (initial): file0
-1ea8d05b2cbc972b48eae3181e846f82eeab50ef 8e724d42465144007f28d45514537886f527eef9 CI <CI@example.com> 1650002477 +0200	commit: file1
-8e724d42465144007f28d45514537886f527eef9 f1963e622e30276cf4e5880109ea475434d6f2ae CI <CI@example.com> 1650002477 +0200	commit: file2
+0000000000000000000000000000000000000000 bea28eaac7bdaf99371daf5b9a788061a12308f4 CI <CI@example.com> 1650270506 +0200	commit (initial): file0
+bea28eaac7bdaf99371daf5b9a788061a12308f4 0e84352ca8531152e477715812e6e275d986984e CI <CI@example.com> 1650270506 +0200	commit: file1
+0e84352ca8531152e477715812e6e275d986984e 91a35446b7de806c46cd84a8574b2302443a5868 CI <CI@example.com> 1650270506 +0200	commit: file2
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447 b/test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447
deleted file mode 100644
index 858c3f4b3..000000000
--- a/test/integration/stashDrop/expected/repo/.git_keep/objects/0d/b7c2bffa900585f06112e5b06f8f358638f447
+++ /dev/null
@@ -1,4 +0,0 @@
-x��A
-�0E]��d�N&��]��v�Ӗ�Ƿ�n��߰�2Up6��
-Q{�<0�*��#�x�����'?6�l:W�6q��6���Lj�
-O
�����O}.�������a)w���QLp�������L�;,3y��Wyz�3_%�@�
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/0e/84352ca8531152e477715812e6e275d986984e b/test/integration/stashDrop/expected/repo/.git_keep/objects/0e/84352ca8531152e477715812e6e275d986984e
new file mode 100644
index 000000000..ad8496326
--- /dev/null
+++ b/test/integration/stashDrop/expected/repo/.git_keep/objects/0e/84352ca8531152e477715812e6e275d986984e
@@ -0,0 +1,3 @@
+x��M
+�0F]��2�π��U�1�L���R"x|sW<ރ��m[�6h/��RdFf@b"[]l�ahՉu=��:�w�E�f!�T*5D���P�R�
����}�k?�4��4?�K۱ʍ���M`��
+@
:Nu�SWmYŨ�/:2
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/1c/88e069f3e318f1e0e02188cf65d360ab4eab67 b/test/integration/stashDrop/expected/repo/.git_keep/objects/1c/88e069f3e318f1e0e02188cf65d360ab4eab67
deleted file mode 100644
index 3443df0982ed9bcf3de1eb96ff43614a4815b564..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmV;q07n0K0gcbWN(3<s#&OT{6uk?QNz*hH5n)ez@)^=5Rbjic%vSL6or`x*AN=`U
zzP63=H3O#gVeamMxz;97nrS!T+<J)!wbx8SwMthhLL|#gcfZci*TT^m(Ia5y*2$9y
ztWaDjCyHd;QT@+L7HmdH2<EKEGSQliq9st%qMD*wTJ(E<ZhJVL!^`RX=07@a7k_Ho
ncnvEj06>x$9svQCqaG)w|C2B8*D&;c_~&q+`r-BqmOx7P&!JuA

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/1e/a8d05b2cbc972b48eae3181e846f82eeab50ef b/test/integration/stashDrop/expected/repo/.git_keep/objects/1e/a8d05b2cbc972b48eae3181e846f82eeab50ef
deleted file mode 100644
index 8e5c770efbbe8e9d52b5872102267896ae857b92..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{iPOY@h|pD!ku-m>&=4sRdi?eXZXX}Kxz)OK
z64guJ0218cd<r4tB!hP`3&4+5w6ION*Z>Wx*2G``w2j7zp5ye!9_x3-ZEp2N;s$26
Y>OEcAGMlrWla4>RDa#5r2iRaM++^lEIRF3v

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf b/test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf
deleted file mode 100644
index f79c6d13b..000000000
--- a/test/integration/stashDrop/expected/repo/.git_keep/objects/2c/c863db7c706a327ec5d0472ddd5d6001c6a5bf
+++ /dev/null
@@ -1 +0,0 @@
-x��1k1F;߯�^�,�v(���n�K��8�W���-�;}�����2�uz�VwH�{��*���+%'�K�A��E���yz���
z�]�<"ei�=���+�đM:�?��5cbBs�}�9d�h	մ����&�پ�N3��������-��$D$.^����#6�'>��OX�0�{w���כ�w�N'
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/5a/0e5672e3ccb264c401de9b84957c53138cd32c b/test/integration/stashDrop/expected/repo/.git_keep/objects/5a/0e5672e3ccb264c401de9b84957c53138cd32c
new file mode 100644
index 0000000000000000000000000000000000000000..08f8bb69062ddbb536c98773cf7fd990309d8f9c
GIT binary patch
literal 162
zcmV;T0A2rh0gaB!3c@fD06pg`_Aba~o5w05LQnmSZL-Be)0P^cpKmYTy$&-lX(?r_
zKsKK0rV3YOmWVlVX3Cjl=!fjl#-KxFwanD?iIQ1m)49UcO5>dieay-jk_#!b6ZX;d
z)F3(6i08mYKJ~S1&~|WdyQl6_)=4jEDG#v0BSrKW;EaT54th*g{ZlvNoOOp~h9d8y
Qy8W(T7$+t31!HeO)t>iJ!T<mO

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448 b/test/integration/stashDrop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
deleted file mode 100644
index c84b87a17..000000000
--- a/test/integration/stashDrop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
+++ /dev/null
@@ -1,3 +0,0 @@
-x+)JMU��d040031QH��I5`������ֶw���w.��h�T�[H
-��e��"Ǩ�S�,��gu"��YH
-�$x~5(�;�rբ���W��-�Ж+^
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/75/a47f9be3d041530e975683cde13a62ddc65007 b/test/integration/stashDrop/expected/repo/.git_keep/objects/75/a47f9be3d041530e975683cde13a62ddc65007
new file mode 100644
index 000000000..e3f498c19
--- /dev/null
+++ b/test/integration/stashDrop/expected/repo/.git_keep/objects/75/a47f9be3d041530e975683cde13a62ddc65007
@@ -0,0 +1,2 @@
+x��=j1@��s
+�� ے�[m�3Ȳ�
��aƁ?ӤO�������	����̀��"�I��Z.k�l����I3�14�bZ6��1�8	Lkj�1*Em�$s��z� �c��,h���Z}$%t�J�T8)���u��y;\o�z��ۏ���^t�7p��'d���q9�91�|�x@���8�w��>�_*+M�
\ No newline at end of file
diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/87/82cd42420de6a24264417d43d50ada9aa53ad5 b/test/integration/stashDrop/expected/repo/.git_keep/objects/87/82cd42420de6a24264417d43d50ada9aa53ad5
deleted file mode 100644
index e4dd3c06e3e75f509052584aa93f981426cedd8b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 162
zcmV;T0A2rh0gaA93c@fD06pgwdlzK8*(Mti5qjz~l5~Rw(@Krt^X<jE*I@=GueHt%
zsPl)mse*GUWx<fASSE2kmtYA~NuGsMk`g5dvzTYxbZJn!;H)|#wMgFO!rF^qhe0Fz
zo-I$VP*fA&?Y?d>jBpvon|@+_KJ=8=dWFvQh)66Jj!1}Rr~6dXKXo%NlYU@bpvKo;
QoqtzQ=7*B`0(yr*MAq3&iU0rr

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/724d42465144007f28d45514537886f527eef9 b/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/724d42465144007f28d45514537886f527eef9
deleted file mode 100644
index 4fb5b0defc93f9ab390ae9f657dd383084363f19..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 146
zcmV;D0B!$x0gaAJ3c@fDKwak)*$Xn6{6R$Ms>hg2CRk`}DG@xrJ%ZcEd+>PceHq$h
zyo^IcSBQZ*GeagO!fHb+94Y%&t)PYAvJ1|roep`Qp-`&e3v%HcvA858)+8gzg_cl+
ziU(<mKI63=dYbipnxFEezOQoQtv|F09stnAsIPzk>ZIq?kUw?RmQ{@U0sM_RVlY`o
AvH$=8

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6 b/test/integration/stashDrop/expected/repo/.git_keep/objects/8e/b0f6c64dea2004a684ea55f9589b71b45d76a6
deleted file mode 100644
index 2a1928079869c5c79e37d717252c0b2c211d73fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 100
zcmV-q0Gt1K0V^p=O;xb8WH2-^Ff%bxNXyJgHDIt1vAVM0pVqc_!H3>=F1`6^?^M%U
zND2%YmhO4{S2gv<mx$0Po_wbZ0bVWLSCJGLF&saB%O>STj#0s<<XOU%&+0@vrLzF~
G7%X4x=`OSY

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/91/a35446b7de806c46cd84a8574b2302443a5868 b/test/integration/stashDrop/expected/repo/.git_keep/objects/91/a35446b7de806c46cd84a8574b2302443a5868
new file mode 100644
index 0000000000000000000000000000000000000000..a216ac57d3bbe7105de661ab2a34a29e20d682a7
GIT binary patch
literal 147
zcmV;E0Brww0gcWv3d1lAK+(=Vh4(^{l*m$`ltQK)!?9%=h?@{x=<%B)bp5>Hr>)kd
zc^v4{4l_TPY81#xvr^6!%Um)8O0Xhos7l?OD7ifz_HG_b`;I9^<qna_dJ#cZBnw8u
zdC)LuZ!Uh?Ydicn`TICM?HlX9+AVGM;W03f07LLsAOLsPbE?^&+?8cDaz8W^II&KA
BMWp}$

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d b/test/integration/stashDrop/expected/repo/.git_keep/objects/a2/11ee6ddb1146ba9680c58c08e40fa0162bd98d
deleted file mode 100644
index 0179f5cc4466bfac7b1a00bf7824fee9e9e435fe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 182
zcmV;n07?IN0gcbGYC|y$h2hTkDZB@YY)i6TN(p4j)Mt=wi5BYIaN|NBzh1g`J$%D|
z+CIkTbOH0zJXBrQ3dW7Gs{{ZP&Zt6Ug>tFMSEQa;c)QD?x9Q9mj>;iugpjxyD&-6w
ziV7yeh@CBn{(0y%wNTBZ08l0a_C6?8V9ORMbIgXAHu;_(`{6EE_j<XW^+(42OP||5
k-kfIwfR$X_30CB`)^%d)Kl%24b3-1>zc_jHUti8iK1hvR2mk;8

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/be/a28eaac7bdaf99371daf5b9a788061a12308f4 b/test/integration/stashDrop/expected/repo/.git_keep/objects/be/a28eaac7bdaf99371daf5b9a788061a12308f4
new file mode 100644
index 0000000000000000000000000000000000000000..3ed6793afac596828f2854312e0a90518a574585
GIT binary patch
literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{jFZHGh|pD!ku-m>&=4sRJia}G+s6lQ>8-7U
ztm<j(09jn&Lyj?)Y+dlFSb%T2YGui#N`yvLG3hg2eWz)r`!qlCP3^tmvh?;K>m5sA
Y$DYnC%;u=aWZ+M3>bil=57?F~+>}&42LJ#7

literal 0
HcmV?d00001

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/objects/f1/963e622e30276cf4e5880109ea475434d6f2ae b/test/integration/stashDrop/expected/repo/.git_keep/objects/f1/963e622e30276cf4e5880109ea475434d6f2ae
deleted file mode 100644
index 3fd7331e6863cdf73414cfd8d95f226ceead0fa3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 146
zcmV;D0B!$x0gaA93d0}}0DJZo-V0^jsJnqu3OVH&#$9P3)(|Z8`OOo0oM8@=Tdixi
zZp2GJRPCtDi9j+7qX?$56baxcY9Us~jKh*Kn>`)+?v|C%i$@=W^B#Z-viNX97>GHR
zfTUVRlRo{`4m-{EKFv@4rn+x>%dI}Fiva-86WJ>ufI00s)%DNZlyy@yKQH$<vkc}%
A4*&oF

diff --git a/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master b/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master
index 7bd761f02..11345d776 100644
--- a/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashDrop/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-f1963e622e30276cf4e5880109ea475434d6f2ae
+91a35446b7de806c46cd84a8574b2302443a5868
diff --git a/test/integration/stashDrop/expected/repo/file1 b/test/integration/stashDrop/expected/repo/file1
index c7c7da3c6..a5bce3fd2 100644
--- a/test/integration/stashDrop/expected/repo/file1
+++ b/test/integration/stashDrop/expected/repo/file1
@@ -1 +1 @@
-hello there
+test1
diff --git a/test/integration/stashDrop/recording.json b/test/integration/stashDrop/recording.json
index fb15d10b1..b3aa3e738 100644
--- a/test/integration/stashDrop/recording.json
+++ b/test/integration/stashDrop/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":1450,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2169,"Mod":0,"Key":256,"Ch":83},{"Timestamp":4172,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5203,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5380,"Mod":0,"Key":256,"Ch":116},{"Timestamp":5453,"Mod":0,"Key":256,"Ch":97},{"Timestamp":5555,"Mod":0,"Key":256,"Ch":103},{"Timestamp":5626,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5763,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6115,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7300,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8683,"Mod":0,"Key":256,"Ch":83},{"Timestamp":9863,"Mod":0,"Key":13,"Ch":13},{"Timestamp":11038,"Mod":0,"Key":256,"Ch":97},{"Timestamp":11123,"Mod":0,"Key":256,"Ch":115},{"Timestamp":11167,"Mod":0,"Key":256,"Ch":100},{"Timestamp":12056,"Mod":0,"Key":13,"Ch":13},{"Timestamp":13353,"Mod":0,"Key":256,"Ch":53},{"Timestamp":14713,"Mod":0,"Key":256,"Ch":100},{"Timestamp":15919,"Mod":0,"Key":13,"Ch":13},{"Timestamp":17181,"Mod":0,"Key":256,"Ch":50},{"Timestamp":18431,"Mod":0,"Key":256,"Ch":53},{"Timestamp":19203,"Mod":0,"Key":256,"Ch":103},{"Timestamp":20228,"Mod":0,"Key":13,"Ch":13},{"Timestamp":20771,"Mod":0,"Key":256,"Ch":50},{"Timestamp":21700,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":767,"Mod":0,"Key":256,"Ch":53},{"Timestamp":1706,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2841,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3906,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":55}]}
\ No newline at end of file
diff --git a/test/integration/stashDrop/setup.sh b/test/integration/stashDrop/setup.sh
index caff56b7d..2278d53d8 100644
--- a/test/integration/stashDrop/setup.sh
+++ b/test/integration/stashDrop/setup.sh
@@ -24,3 +24,5 @@ git commit -am file2
 echo "hello there" > file1
 echo "hello there" > file2
 echo "hello there" > file3
+
+git stash save "stash to drop"
diff --git a/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD
index 32bd1b5cc..3823b7b86 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashPop/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-605615b78c181314a7a019e116647bfdf9127c94
+f9bd523df842e6b52de8880c366f7d15d6bab650
diff --git a/test/integration/stashPop/expected/repo/.git_keep/index b/test/integration/stashPop/expected/repo/.git_keep/index
index 0850077fddf2ff6ed10d14e2a02b11809beaa05e..667aead257923c7a197135e29100fda4e57380f8 100644
GIT binary patch
delta 65
zcmZo;YGYDy@eFciU|?VZV&<e+#Sk;jGi)##C?>`5SvO*$$~h6cJvN;ECl?t=xL)zS
MH+LV?Gvk6p0P=ei8vp<R

delta 65
zcmZo;YGYDy@eFciU|?VZV&<gi8;?}?M-{_ppqLcHr&Ey=RnCc&%rInC`OL6nu6%rm
MiE>WNf{S(20gV3^g8%>k

diff --git a/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD b/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD
index 6740e556b..f205db06f 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashPop/expected/repo/.git_keep/logs/HEAD
@@ -1,5 +1,4 @@
-0000000000000000000000000000000000000000 2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 CI <CI@example.com> 1650186466 +0200	commit (initial): file0
-2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 0138b2ed57b0412b2c2244a267fc1396f06ac287 CI <CI@example.com> 1650186466 +0200	commit: file1
-0138b2ed57b0412b2c2244a267fc1396f06ac287 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186466 +0200	commit: file2
-605615b78c181314a7a019e116647bfdf9127c94 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186469 +0200	reset: moving to HEAD
-605615b78c181314a7a019e116647bfdf9127c94 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186471 +0200	reset: moving to HEAD
+0000000000000000000000000000000000000000 4a80cc4f1537d7ce4f184f346c9ba7c51bb34aee CI <CI@example.com> 1650270548 +0200	commit (initial): file0
+4a80cc4f1537d7ce4f184f346c9ba7c51bb34aee f26e5e813038fe0c31c4733d57fcf93758736e71 CI <CI@example.com> 1650270548 +0200	commit: file1
+f26e5e813038fe0c31c4733d57fcf93758736e71 f9bd523df842e6b52de8880c366f7d15d6bab650 CI <CI@example.com> 1650270548 +0200	commit: file2
+f9bd523df842e6b52de8880c366f7d15d6bab650 f9bd523df842e6b52de8880c366f7d15d6bab650 CI <CI@example.com> 1650270548 +0200	reset: moving to HEAD
diff --git a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master
index f83a90cae..f3893791a 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashPop/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 CI <CI@example.com> 1650186466 +0200	commit (initial): file0
-2ec2033bcc750a5c30ad6f00e6caa7b5848f26f0 0138b2ed57b0412b2c2244a267fc1396f06ac287 CI <CI@example.com> 1650186466 +0200	commit: file1
-0138b2ed57b0412b2c2244a267fc1396f06ac287 605615b78c181314a7a019e116647bfdf9127c94 CI <CI@example.com> 1650186466 +0200	commit: file2
+0000000000000000000000000000000000000000 4a80cc4f1537d7ce4f184f346c9ba7c51bb34aee CI <CI@example.com> 1650270548 +0200	commit (initial): file0
+4a80cc4f1537d7ce4f184f346c9ba7c51bb34aee f26e5e813038fe0c31c4733d57fcf93758736e71 CI <CI@example.com> 1650270548 +0200	commit: file1
+f26e5e813038fe0c31c4733d57fcf93758736e71 f9bd523df842e6b52de8880c366f7d15d6bab650 CI <CI@example.com> 1650270548 +0200	commit: file2
diff --git a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash b/test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash
deleted file mode 100644
index ca9920f6e..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/logs/refs/stash
+++ /dev/null
@@ -1 +0,0 @@
-0000000000000000000000000000000000000000 5e6c498354e93f4049e80254810f4577b180a8ab CI <CI@example.com> 1650186471 +0200	On master: asd
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287 b/test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287
deleted file mode 100644
index d4936dcdf..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/objects/01/38b2ed57b0412b2c2244a267fc1396f06ac287
+++ /dev/null
@@ -1,2 +0,0 @@
-x��K
-�0@]��2�M��1��	SJ�o����<n�n]�d/��"2'fH�D6;,+GJ�d'����u�)ﮭ��V��;��@p�q
���@ѧ�ک�E���)_��.7n��
0zD}�S]��U�v1��:
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/2d/79a3b4f905a83d994f860d3d91625fab899422 b/test/integration/stashPop/expected/repo/.git_keep/objects/2d/79a3b4f905a83d994f860d3d91625fab899422
new file mode 100644
index 000000000..947808f26
--- /dev/null
+++ b/test/integration/stashPop/expected/repo/.git_keep/objects/2d/79a3b4f905a83d994f860d3d91625fab899422
@@ -0,0 +1 @@
+x���J1�a���$��aV��*�*F0��;��o6��>�m��9C~���&ZH�"�Ĺh� �j���jtlդm�C�T�X�G�5 K��4�&��c����U�i�I��W5�=/ӌ��$Z��i��y\o�z�����K^��o`�&|�g��lk]S�ɷ�t:���9������=P6
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0 b/test/integration/stashPop/expected/repo/.git_keep/objects/2e/c2033bcc750a5c30ad6f00e6caa7b5848f26f0
deleted file mode 100644
index 340b8157b4b713e49e22d3a517224b81a8717e9f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{iPLEVB0^U^M$-JjLPJZ5;PLGd+&(^d^H%H9
zNK`NF07!6$^(lmqlXShsEC3IwXknjn@c|lCy^Ejr-VPckdW_Qx-&pq*w|T2i66;t7
YQ!~1<XLe^jCk=mcSC$p*e%uc$@~JE~OaK4?

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/42/ffa95ec8ce68b4bf04d4dab6c03283e61f4bda b/test/integration/stashPop/expected/repo/.git_keep/objects/42/ffa95ec8ce68b4bf04d4dab6c03283e61f4bda
new file mode 100644
index 000000000..425c6c04d
--- /dev/null
+++ b/test/integration/stashPop/expected/repo/.git_keep/objects/42/ffa95ec8ce68b4bf04d4dab6c03283e61f4bda
@@ -0,0 +1,3 @@
+x���
+�0D=�+�.H�m�UD���Iv���-5B?�\�{��7���2U@�Ou���92c�1���;ɞ�a&��]�
+��bǙz-r; �:�gc����*|�k�a�>�O9B�f���<����=�Y�֪�M�ʟs5-,���n��gy��8Bj
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/4a/80cc4f1537d7ce4f184f346c9ba7c51bb34aee b/test/integration/stashPop/expected/repo/.git_keep/objects/4a/80cc4f1537d7ce4f184f346c9ba7c51bb34aee
new file mode 100644
index 000000000..6f2666e32
--- /dev/null
+++ b/test/integration/stashPop/expected/repo/.git_keep/objects/4a/80cc4f1537d7ce4f184f346c9ba7c51bb34aee
@@ -0,0 +1,2 @@
+x��A
+� F�=��e��F(��U���"�`!�o���ヷ�Z�NZ���4�p>�r�ֻ�5�C*Rؤ\L����A�L�i~�u��XZI;�Ƴ���l��U�Iǟ\�u��l+�
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab b/test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab
deleted file mode 100644
index a8d3c8495..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/objects/5e/6c498354e93f4049e80254810f4577b180a8ab
+++ /dev/null
@@ -1,2 +0,0 @@
-x�ϱj1����
fW�Z�BW��
ZiE�Ϝ��G�{��c�)[���y����9f�"�Jͭ
-����A�FR��%	�,���m8��4JA�)��������X=���Y�UY�(�Bs�zTƔ��M=/�w|m�;_���r����?v,[�t�Pf?�x�e��İ�r���ӿ������I�
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/60/5615b78c181314a7a019e116647bfdf9127c94 b/test/integration/stashPop/expected/repo/.git_keep/objects/60/5615b78c181314a7a019e116647bfdf9127c94
deleted file mode 100644
index 22dbe19c0e7a5631d20297911d48cf478d161106..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gaA93d0}}0DJZo-V0@2&ANe73OVH&x~?=3n-DDY`OOo09R_A(Yi;S)
zjd<yYsvVU%MJU3Bu@p=-*D`>Mq&2cSX7pK5%$^Q?cMHyQMlD0k5FBO{#1Ilvtm6Dg
z6(|XEH0je{+hM2K-lzGg-_-V1Z?d(Ab#w-p0+GD}0+^GYQ(gbmO<h(+^8<X*Ia{I}
BLq7lj

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448 b/test/integration/stashPop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
deleted file mode 100644
index c84b87a17..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/objects/66/bbc809cdafd867cf9320bfb7484bb8fa898448
+++ /dev/null
@@ -1,3 +0,0 @@
-x+)JMU��d040031QH��I5`������ֶw���w.��h�T�[H
-��e��"Ǩ�S�,��gu"��YH
-�$x~5(�;�rբ���W��-�Ж+^
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930 b/test/integration/stashPop/expected/repo/.git_keep/objects/8b/0567b6e2fd39edce87bc7ed6e7ba7868e55930
deleted file mode 100644
index 5634f803139e66529b1034585c9d420b3b391878..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 183
zcmV;o07(CM0gcZ+Y6CG4K;hJT3iXDd(a($&f-$&ql{3spGb9js%~}Q@-`k{5`}msI
z)-isj3#q)#P1WV5R@s!1BlS|PhO8l}7y)-}g0X{nT5i1QbvpDJAq$lT1tKIS_D~f7
zF_Boe3V~Wpf1XQXC}bGLXOR>QYBOm?w6j#w9%G=;7k<p|b#v#7`#fJx`s8u@)%UiJ
lqXWzy3MQ=X;Dh(eUiXQq|K!Wp)eXMy{=@OTzW|pLODQX~TUG!7

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/a8/4a187f63b05bb43f19cfbc8bedab97ed33272d b/test/integration/stashPop/expected/repo/.git_keep/objects/a8/4a187f63b05bb43f19cfbc8bedab97ed33272d
deleted file mode 100644
index 351b71e04b90216507c6ecc8530c4e11543fc9e3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 162
zcmV;T0A2rh0gaA93c@fD06pgwdlw{|rkjn32tD-~NxH#;X-bXI=i7^Sufq&Xs-?^g
z47yX>M1Uy9#M-AR<cZ0p>^q}lj?S`;k#k_r*0Nf|CQAd-Jz*amCuHo<1{XAXK_s#+
z<|%tLE_tiMr#<Ti!w9!we8?Wk`jShk<qk-_MkY%h&e~|L4th*A`BPW(GRY2gffC+F
Qb^TpIo?l|r7erM+#R+>$wEzGB

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26 b/test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26
deleted file mode 100644
index 2a71485a3..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/objects/b8/372ee9ddb68d8b15c440d86d21b6199583fb26
+++ /dev/null
@@ -1,3 +0,0 @@
-x��A
-�0E]��$���DD��z�i2��iJ��㛍{����/���
-ݩ�"������"�
�9�A���	�n&��wY+X=XfG	;�ٱF/�����ɣq���?�Yv'���C��K.��;�m�x��6Z����*�jY�PV��n��Wiy�Q_U�@�
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/f2/6e5e813038fe0c31c4733d57fcf93758736e71 b/test/integration/stashPop/expected/repo/.git_keep/objects/f2/6e5e813038fe0c31c4733d57fcf93758736e71
new file mode 100644
index 0000000000000000000000000000000000000000..9934ea2ee2397a98b386dfdfe466bcc273d509c6
GIT binary patch
literal 147
zcmV;E0Brww0gaA93d0}}0DJZo-V0^bRU?#A$SKcQ*Odlh4Z%X6-#nqWVVJ{kZ*3jg
zBzqZ$h%OKVb7F=>Ok|4-HFKooYjI*71WXvvsGSaZ4~;YdGgjkWERp4;39G}vDN|%`
za&|}}iaz7j4?QpXJ}*!CQrkDVac>W8f(IMH<D{=(0n};FsUd&ns;-+D^#kL$Iz67i
BKZ*bV

literal 0
HcmV?d00001

diff --git a/test/integration/stashPop/expected/repo/.git_keep/objects/f9/bd523df842e6b52de8880c366f7d15d6bab650 b/test/integration/stashPop/expected/repo/.git_keep/objects/f9/bd523df842e6b52de8880c366f7d15d6bab650
new file mode 100644
index 000000000..c48bcf855
--- /dev/null
+++ b/test/integration/stashPop/expected/repo/.git_keep/objects/f9/bd523df842e6b52de8880c366f7d15d6bab650
@@ -0,0 +1,2 @@
+x��1
+�0@��>��B���R��B�ÑeH�\��#t���붮s��K;�|o"����R0ש���U"H���=�n�b�hH��RЎ�J䪵'�”��˟��?��>�O��u_����!E@�؉����S���΋����9y
\ No newline at end of file
diff --git a/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master b/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master
index 32bd1b5cc..3823b7b86 100644
--- a/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashPop/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-605615b78c181314a7a019e116647bfdf9127c94
+f9bd523df842e6b52de8880c366f7d15d6bab650
diff --git a/test/integration/stashPop/expected/repo/.git_keep/refs/stash b/test/integration/stashPop/expected/repo/.git_keep/refs/stash
deleted file mode 100644
index 3a695ec9e..000000000
--- a/test/integration/stashPop/expected/repo/.git_keep/refs/stash
+++ /dev/null
@@ -1 +0,0 @@
-5e6c498354e93f4049e80254810f4577b180a8ab
diff --git a/test/integration/stashPop/recording.json b/test/integration/stashPop/recording.json
index 8629fa444..272f83875 100644
--- a/test/integration/stashPop/recording.json
+++ b/test/integration/stashPop/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":752,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1144,"Mod":0,"Key":256,"Ch":83},{"Timestamp":1424,"Mod":0,"Key":258,"Ch":0},{"Timestamp":1640,"Mod":0,"Key":13,"Ch":13},{"Timestamp":1742,"Mod":0,"Key":256,"Ch":97},{"Timestamp":1775,"Mod":0,"Key":256,"Ch":115},{"Timestamp":1832,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2097,"Mod":0,"Key":13,"Ch":13},{"Timestamp":2552,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3065,"Mod":0,"Key":256,"Ch":83},{"Timestamp":3425,"Mod":0,"Key":258,"Ch":0},{"Timestamp":3584,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3840,"Mod":0,"Key":256,"Ch":97},{"Timestamp":3880,"Mod":0,"Key":256,"Ch":115},{"Timestamp":3967,"Mod":0,"Key":256,"Ch":100},{"Timestamp":4656,"Mod":0,"Key":13,"Ch":13},{"Timestamp":5121,"Mod":0,"Key":259,"Ch":0},{"Timestamp":5304,"Mod":0,"Key":259,"Ch":0},{"Timestamp":5608,"Mod":0,"Key":259,"Ch":0},{"Timestamp":6008,"Mod":0,"Key":258,"Ch":0},{"Timestamp":6921,"Mod":0,"Key":256,"Ch":103},{"Timestamp":7328,"Mod":0,"Key":13,"Ch":13},{"Timestamp":8304,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":658,"Mod":0,"Key":256,"Ch":53},{"Timestamp":1387,"Mod":0,"Key":256,"Ch":103},{"Timestamp":2364,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3446,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":55}]}
\ No newline at end of file
diff --git a/test/integration/stashPop/setup.sh b/test/integration/stashPop/setup.sh
index caff56b7d..2278d53d8 100644
--- a/test/integration/stashPop/setup.sh
+++ b/test/integration/stashPop/setup.sh
@@ -24,3 +24,5 @@ git commit -am file2
 echo "hello there" > file1
 echo "hello there" > file2
 echo "hello there" > file3
+
+git stash save "stash to drop"

From 8b8a405b7c9765d8e679e1376539041eb6cc0957 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Luka=20Marku=C5=A1i=C4=87?= <luka.markusic@microblink.com>
Date: Fri, 6 May 2022 12:03:18 +0200
Subject: [PATCH 6/6] Update stashing tests to apply instead of pop

---
 .../expected/repo/.git_keep/ORIG_HEAD           |   2 +-
 .../expected/repo/.git_keep/index               | Bin 262 -> 262 bytes
 .../expected/repo/.git_keep/logs/HEAD           |  12 ++++++------
 .../repo/.git_keep/logs/refs/heads/master       |   6 +++---
 .../expected/repo/.git_keep/logs/refs/stash     |   3 +++
 .../28/3a00085a0d95e814920f9eae7009789cee0eab   |   2 ++
 .../29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7   |   3 ---
 .../56/6ddc4a6a06724993b2a55fec3f696c47b9dcce   | Bin 0 -> 162 bytes
 .../5a/70ee314842fb5f46b452d16bc4d95e7154d4b4   | Bin 0 -> 192 bytes
 .../62/4317ac2731648d4b0e30068dd35aca2a0b4791   | Bin 147 -> 0 bytes
 .../65/e3f346ea03c8c2b0f1b8f6691abaed651fb77d   |   3 +++
 .../6b/8c369acb1897a5787e72b4c15d597d346f2b6a   |   2 ++
 .../6c/09c8b498849a1679bcd05488661a2ce123b578   |   2 --
 .../6e/fac41f92e54de5411b9195449dbef0960daaf4   |   3 ---
 .../7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e   |   1 -
 .../8f/a874178500f99d69f649ff9128f3d1b62369a0   | Bin 148 -> 0 bytes
 .../a5/2c63287cda99fcc917438c34ac8f9c67274d79   | Bin 0 -> 119 bytes
 .../b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41   | Bin 162 -> 0 bytes
 .../cb/66567aecbd1ceb7caebf1c3a3d16db28f4a54c   | Bin 0 -> 147 bytes
 .../d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd   |   1 -
 .../df/9f3a300512205640e5ff10b624072a10afddde   |   3 +++
 .../e4/13783635b9870fae2e48d6e6dccbdce5ddb3ff   | Bin 0 -> 161 bytes
 .../f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc   | Bin 161 -> 0 bytes
 .../expected/repo/.git_keep/refs/heads/master   |   2 +-
 .../expected/repo/.git_keep/refs/stash          |   1 +
 test/integration/stashAllChanges/recording.json |   2 +-
 .../expected/repo/.git_keep/ORIG_HEAD           |   2 +-
 .../expected/repo/.git_keep/index               | Bin 262 -> 262 bytes
 .../expected/repo/.git_keep/logs/HEAD           |   8 ++++----
 .../repo/.git_keep/logs/refs/heads/master       |   6 +++---
 .../expected/repo/.git_keep/logs/refs/stash     |   1 +
 .../05/6328ba39d0418acd7270389b9d5f253b98aabf   |   2 ++
 .../24/35f1f9565ecb370eb550f591d55179f1e9a7de   | Bin 161 -> 0 bytes
 .../5c/7a56ef74b1a692d67990b3f07a3af45a0e8f48   | Bin 0 -> 118 bytes
 .../78/3b58a50bb867917c6a8a78ff18cadb3fdc771e   | Bin 119 -> 0 bytes
 .../81/f8f7653f26197f4f66641d6ab4ab99ac2a3391   | Bin 0 -> 147 bytes
 .../8f/bffdd316c764e171c3e421205327588077f49c   |   1 -
 .../99/bcc624e9c596901f0dd572be23ba5df84ec0d5   | Bin 0 -> 160 bytes
 .../c8/7c87eb867338ed9956f6b28c8c3a83a1802c16   |   1 +
 .../e2/21db5981b482fb2110c8b283f48c08cd5f10c3   | Bin 148 -> 0 bytes
 .../e5/5d4f76f2b99c3b6b0c960725099ae54e34af70   | Bin 147 -> 0 bytes
 .../expected/repo/.git_keep/refs/heads/master   |   2 +-
 .../expected/repo/.git_keep/refs/stash          |   1 +
 .../stashAllChangesKeepIndex/recording.json     |   2 +-
 .../expected/repo/.git_keep/ORIG_HEAD           |   2 +-
 .../expected/repo/.git_keep/index               | Bin 334 -> 334 bytes
 .../expected/repo/.git_keep/logs/HEAD           |  10 +++++-----
 .../repo/.git_keep/logs/refs/heads/master       |   6 +++---
 .../expected/repo/.git_keep/logs/refs/stash     |   1 +
 .../29/d32b3857eab1a570b9fc534dd90b9876c5cd1a   |   3 +++
 .../2b/515d20a02212d14a519d82917b791e01ebc659   | Bin 148 -> 0 bytes
 .../2b/d62bafdea9ceb4732326e82d4ce14196d7a032   | Bin 160 -> 0 bytes
 .../40/62b34fff18c4453edded2da4f0737176daaa4d   | Bin 118 -> 0 bytes
 .../54/fbb8276359cb6f68faa9cb7dcf58f93c838035   | Bin 187 -> 0 bytes
 .../67/9786f833f91434f42757cc4b3bfb9ee1c573c5   |   2 ++
 .../6c/d167c43cd50ae47f776f182ed6ff0b0a4471e3   | Bin 0 -> 119 bytes
 .../b1/60a56c2580f8cc1e5432f32212f83395459997   | Bin 147 -> 0 bytes
 .../b7/1c3131aa943097c697d5194d0f4de01f82b743   | Bin 0 -> 147 bytes
 .../cc/4c970471739bc691d2e94cdb419f6e7932f396   | Bin 0 -> 190 bytes
 .../fb/0410e49f4f878fc7a57497556a45c7d052a63e   |   1 +
 .../fe/0b6136ae74e574b3349fabbf0b89053c6a201e   | Bin 187 -> 0 bytes
 .../expected/repo/.git_keep/refs/heads/master   |   2 +-
 .../expected/repo/.git_keep/refs/stash          |   1 +
 .../stashStagedChanges/recording.json           |   2 +-
 .../expected/repo/.git_keep/ORIG_HEAD           |   2 +-
 .../expected/repo/.git_keep/index               | Bin 262 -> 262 bytes
 .../expected/repo/.git_keep/logs/HEAD           |  12 ++++++------
 .../repo/.git_keep/logs/refs/heads/master       |  10 +++++-----
 .../expected/repo/.git_keep/logs/refs/stash     |   1 +
 .../3a/8dac53bf53e3243a325a9e0b3ef523764ee74d   |   2 --
 .../70/dfa7fd25e9af49b7277738270a61d5dfbbac53   |   3 +++
 .../74/244487ab29dc413ae1f98e4fa40256a0787212   | Bin 147 -> 0 bytes
 .../80/a20247e61d440004def8f284964334ee381d0a   | Bin 0 -> 187 bytes
 .../84/988130b443577e2afc62d4103f92fcbed33add   | Bin 118 -> 0 bytes
 .../b2/45d3aa308ffdfdd194a94ad84a678a8a7a028c   |   3 +++
 .../bc/4b1a5b9b60d70107fab9078137bad212e29567   |   1 +
 .../c2/71c5cc28c056383278c655b4e227fa69b06073   | Bin 185 -> 0 bytes
 .../c8/84f894908d3042f54995005b8e3445958b2fcc   | Bin 148 -> 0 bytes
 .../e7/02e6113eff6883a33505e2b28cff2df3420fed   |   3 +++
 .../ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b   | Bin 176 -> 0 bytes
 .../f8/e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689   | Bin 0 -> 119 bytes
 .../expected/repo/.git_keep/refs/heads/master   |   2 +-
 .../expected/repo/.git_keep/refs/stash          |   1 +
 .../stashUnstagedChanges/recording.json         |   2 +-
 84 files changed, 86 insertions(+), 60 deletions(-)
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/stash
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/28/3a00085a0d95e814920f9eae7009789cee0eab
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/56/6ddc4a6a06724993b2a55fec3f696c47b9dcce
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/5a/70ee314842fb5f46b452d16bc4d95e7154d4b4
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/62/4317ac2731648d4b0e30068dd35aca2a0b4791
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/65/e3f346ea03c8c2b0f1b8f6691abaed651fb77d
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/6b/8c369acb1897a5787e72b4c15d597d346f2b6a
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/8f/a874178500f99d69f649ff9128f3d1b62369a0
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/a5/2c63287cda99fcc917438c34ac8f9c67274d79
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/cb/66567aecbd1ceb7caebf1c3a3d16db28f4a54c
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/df/9f3a300512205640e5ff10b624072a10afddde
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/e4/13783635b9870fae2e48d6e6dccbdce5ddb3ff
 delete mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/objects/f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc
 create mode 100644 test/integration/stashAllChanges/expected/repo/.git_keep/refs/stash
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/stash
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/05/6328ba39d0418acd7270389b9d5f253b98aabf
 delete mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/24/35f1f9565ecb370eb550f591d55179f1e9a7de
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/5c/7a56ef74b1a692d67990b3f07a3af45a0e8f48
 delete mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/78/3b58a50bb867917c6a8a78ff18cadb3fdc771e
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/81/f8f7653f26197f4f66641d6ab4ab99ac2a3391
 delete mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/99/bcc624e9c596901f0dd572be23ba5df84ec0d5
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/c8/7c87eb867338ed9956f6b28c8c3a83a1802c16
 delete mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e2/21db5981b482fb2110c8b283f48c08cd5f10c3
 delete mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e5/5d4f76f2b99c3b6b0c960725099ae54e34af70
 create mode 100644 test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/stash
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/stash
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/29/d32b3857eab1a570b9fc534dd90b9876c5cd1a
 delete mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/515d20a02212d14a519d82917b791e01ebc659
 delete mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/d62bafdea9ceb4732326e82d4ce14196d7a032
 delete mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/40/62b34fff18c4453edded2da4f0737176daaa4d
 delete mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/54/fbb8276359cb6f68faa9cb7dcf58f93c838035
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/67/9786f833f91434f42757cc4b3bfb9ee1c573c5
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/6c/d167c43cd50ae47f776f182ed6ff0b0a4471e3
 delete mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b1/60a56c2580f8cc1e5432f32212f83395459997
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b7/1c3131aa943097c697d5194d0f4de01f82b743
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/cc/4c970471739bc691d2e94cdb419f6e7932f396
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fb/0410e49f4f878fc7a57497556a45c7d052a63e
 delete mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fe/0b6136ae74e574b3349fabbf0b89053c6a201e
 create mode 100644 test/integration/stashStagedChanges/expected/repo/.git_keep/refs/stash
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/stash
 delete mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/70/dfa7fd25e9af49b7277738270a61d5dfbbac53
 delete mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/74/244487ab29dc413ae1f98e4fa40256a0787212
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/80/a20247e61d440004def8f284964334ee381d0a
 delete mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/84/988130b443577e2afc62d4103f92fcbed33add
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/b2/45d3aa308ffdfdd194a94ad84a678a8a7a028c
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/bc/4b1a5b9b60d70107fab9078137bad212e29567
 delete mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c2/71c5cc28c056383278c655b4e227fa69b06073
 delete mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c8/84f894908d3042f54995005b8e3445958b2fcc
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/e7/02e6113eff6883a33505e2b28cff2df3420fed
 delete mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/f8/e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689
 create mode 100644 test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/stash

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD
index edd32295e..b6b4a34f7 100644
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-8fa874178500f99d69f649ff9128f3d1b62369a0
+cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/index b/test/integration/stashAllChanges/expected/repo/.git_keep/index
index afb46a953eb37c576b041edeb4b4040a888bbc26..1d75c1b325c4f74d5a89e0c0a0cbdd2006c2ab5c 100644
GIT binary patch
delta 65
zcmZo;YGYDy@eFciU|?VZV&<fh_m2&nOrl{lP)v$ZkSTJa$~h4o^PjKmq?Rr`;3ECH
MAzUL%VaDMm08rKyAOHXW

delta 65
zcmZo;YGYDy@eFciU|?VZV&<es&TRGz**{=3P)v&9!@)%pRnCcMPHZjnE^HJi(LcSW
MzTfvz(4L3<09^$Zi2wiq

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD
index c920669ff..f29e0fda8 100644
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/HEAD
@@ -1,6 +1,6 @@
-0000000000000000000000000000000000000000 29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 CI <CI@example.com> 1650002283 +0200	commit (initial): file0
-29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 624317ac2731648d4b0e30068dd35aca2a0b4791 CI <CI@example.com> 1650002283 +0200	commit: file1
-624317ac2731648d4b0e30068dd35aca2a0b4791 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002283 +0200	commit: file2
-8fa874178500f99d69f649ff9128f3d1b62369a0 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002287 +0200	reset: moving to HEAD
-8fa874178500f99d69f649ff9128f3d1b62369a0 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002295 +0200	reset: moving to HEAD
-8fa874178500f99d69f649ff9128f3d1b62369a0 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002303 +0200	reset: moving to HEAD
+0000000000000000000000000000000000000000 a52c63287cda99fcc917438c34ac8f9c67274d79 CI <CI@example.com> 1651830755 +0200	commit (initial): file0
+a52c63287cda99fcc917438c34ac8f9c67274d79 283a00085a0d95e814920f9eae7009789cee0eab CI <CI@example.com> 1651830755 +0200	commit: file1
+283a00085a0d95e814920f9eae7009789cee0eab cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c CI <CI@example.com> 1651830755 +0200	commit: file2
+cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c CI <CI@example.com> 1651830760 +0200	reset: moving to HEAD
+cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c CI <CI@example.com> 1651830769 +0200	reset: moving to HEAD
+cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c CI <CI@example.com> 1651830778 +0200	reset: moving to HEAD
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master
index 89fb0a652..3b9c06579 100644
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 CI <CI@example.com> 1650002283 +0200	commit (initial): file0
-29e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 624317ac2731648d4b0e30068dd35aca2a0b4791 CI <CI@example.com> 1650002283 +0200	commit: file1
-624317ac2731648d4b0e30068dd35aca2a0b4791 8fa874178500f99d69f649ff9128f3d1b62369a0 CI <CI@example.com> 1650002283 +0200	commit: file2
+0000000000000000000000000000000000000000 a52c63287cda99fcc917438c34ac8f9c67274d79 CI <CI@example.com> 1651830755 +0200	commit (initial): file0
+a52c63287cda99fcc917438c34ac8f9c67274d79 283a00085a0d95e814920f9eae7009789cee0eab CI <CI@example.com> 1651830755 +0200	commit: file1
+283a00085a0d95e814920f9eae7009789cee0eab cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c CI <CI@example.com> 1651830755 +0200	commit: file2
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/stash b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/stash
new file mode 100644
index 000000000..a3a868578
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/logs/refs/stash
@@ -0,0 +1,3 @@
+0000000000000000000000000000000000000000 df9f3a300512205640e5ff10b624072a10afddde CI <CI@example.com> 1651830760 +0200	On master: stash all
+df9f3a300512205640e5ff10b624072a10afddde 6b8c369acb1897a5787e72b4c15d597d346f2b6a CI <CI@example.com> 1651830769 +0200	On master: stash newly tracked
+6b8c369acb1897a5787e72b4c15d597d346f2b6a 5a70ee314842fb5f46b452d16bc4d95e7154d4b4 CI <CI@example.com> 1651830778 +0200	On master: stash with staged
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/28/3a00085a0d95e814920f9eae7009789cee0eab b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/28/3a00085a0d95e814920f9eae7009789cee0eab
new file mode 100644
index 000000000..45c762814
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/28/3a00085a0d95e814920f9eae7009789cee0eab
@@ -0,0 +1,2 @@
+x��K
+�0@]��$�ɀ��U�1N&X0������=x���p�OcW�j1���%f_CnA��jPl�stf�]�8y����D�H�P$D��H2z���g<����|�/���Y�
\N��)��zk�A����-/u���9�
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7
deleted file mode 100644
index efe9bb1f3..000000000
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/29/e5ddcfe80c21ef3d9df877d1173d8d1f56dce7
+++ /dev/null
@@ -1,3 +0,0 @@
-x��A
-�0F�s���d��R
-�<Fb�P��")x|=B���RKYY�[������O����<Ƭ�%�,�Uń_�ԝ�������w�c��E���,2vtga6W�&
r��
lN��+�
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/56/6ddc4a6a06724993b2a55fec3f696c47b9dcce b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/56/6ddc4a6a06724993b2a55fec3f696c47b9dcce
new file mode 100644
index 0000000000000000000000000000000000000000..3aa0ef0097dcec3a594a72f87b01dea764fad1c6
GIT binary patch
literal 162
zcmV;T0A2rh0gaA93c@fDMP26<vlk?3lSvd2p{pKaGMQkZX-bXI<J*mUw~zn$k83GY
zgU<L<+e9Ep)EOCV66&<Jgux0qm#;2dqc_pI<dIOVw8_$dBcel3!Z8_^=$RyD!#(xM
zV2WMHmYiippZ2O73?tl!@hLl%b(Ra)@&JR*gkF0e;H-~Rb<iWK$)9sIElGB$3lw@E
Q*6mjXd77nDUs9z)>_;?BtN;K2

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/5a/70ee314842fb5f46b452d16bc4d95e7154d4b4 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/5a/70ee314842fb5f46b452d16bc4d95e7154d4b4
new file mode 100644
index 0000000000000000000000000000000000000000..62afd0629c353a778f4d6d4b313e7af62c83f0cb
GIT binary patch
literal 192
zcmV;x06+hD0gca1Y6CG01>mmd6xtVxf8}uqrI1xtJ%cRCoj{xkGcN7%<1D)GPQ3T=
zK)kkg>EO`4^i35aYt2-ZkbIIk*X*LYprs~DqFm66ttL%(+Vs|81Q;>VXvDIX#5AmB
zPs5=UH`hQh@Sl%}A{@rN!Q?{DzBr1pD*K8VIi!+>Stt7L%euko49C;?Lw~8=ulmMo
udk2fr&fcUn!>e(|Od}mnbp0ovK5x)yAN~M)r+tB+OJAPnm&yZk%TkqRq-8z;

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/62/4317ac2731648d4b0e30068dd35aca2a0b4791 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/62/4317ac2731648d4b0e30068dd35aca2a0b4791
deleted file mode 100644
index 0a30073de843cf0a495948d842f1c666218099cd..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcX03c@fDKw;N8MfQTsOqxF^B6QVb#F+^e8e2*Pk8h9Q_VFzqZ>=re
zVx~(!RINY^%$XT-;ZjIks85b1`zlV!K^XE71~hv)^xZ9G^&(s~0TXI<lBK2?1u;5F
zg4G9Mji!A1Ydh>T+i{v7`Yml=^~PJfTMQlmh?28cAOLgLbE@l~+|*@NG(QW^I&mx|
BKpFr5

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/65/e3f346ea03c8c2b0f1b8f6691abaed651fb77d b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/65/e3f346ea03c8c2b0f1b8f6691abaed651fb77d
new file mode 100644
index 000000000..2d46f6c29
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/65/e3f346ea03c8c2b0f1b8f6691abaed651fb77d
@@ -0,0 +1,3 @@
+x���
+�0E]�+f/H��("BW��I2�BӔ��o6����TK�h�Omg�Nk�#���S�$��̈6Ā6���O�F;�
RDt�S�*q�8N*2Ya�:L��M�>�UwF��*�—T���
+Fz��Yj)E�=��s1���+zw����i^X�/-6Av
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6b/8c369acb1897a5787e72b4c15d597d346f2b6a b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6b/8c369acb1897a5787e72b4c15d597d346f2b6a
new file mode 100644
index 000000000..e0f637f62
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6b/8c369acb1897a5787e72b4c15d597d346f2b6a
@@ -0,0 +1,2 @@
+x���J1�a���$�Jjf5+��R�0�{莨oo6��>~8���>�ax�*�I�c��K6�(�PQU���H*/w�u 1bb�R�hI�Z�ϾZ���8����6*��WL�%7D�\X+F�JJu��q�v8_��|y�o���>��_�N��IH�h�1�\牡����
+���Op>���������z1Q�
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578
deleted file mode 100644
index 9727c4ec6..000000000
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6c/09c8b498849a1679bcd05488661a2ce123b578
+++ /dev/null
@@ -1,2 +0,0 @@
-x��A
-� E���/�q�QK)��r�b�����n���XK�������
��+��l���Ȭ��XAim3;��--
\�ji�A��G�����KrYE90)�Ex�gݠ����������2�r��"�7pFB=�Z�s.�%��%�����<͉���?J
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4
deleted file mode 100644
index 1a811f4f1..000000000
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/6e/fac41f92e54de5411b9195449dbef0960daaf4
+++ /dev/null
@@ -1,3 +0,0 @@
-x�ϻJA�a�y����{����F>CMw+L�,3-��vbnz���׽��.��q�B�j,����V��EuAW�$M�|#ü<����bRr�\"�1�Ė�1�b����Ă�U����JE���r6�5(�F5��|��~��
-o���Hl�R����:W2<�C\�:#���/�w�rN�
-���m���Mq
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e
deleted file mode 100644
index 0c987fc11..000000000
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/7f/e42e1229b06d1307f6e7717c47f6bb4248fa2e
+++ /dev/null
@@ -1 +0,0 @@
-x���J1`�����3m#"ž��3�m�,lw���>����[���R��.(�C�Ua)j,��ǚؘ�Y�E'UK�:�8�e�[�d���bZ���0�;J6h����	["�D�xTV��B��)���g7�g_�Ngx9���[���Oek���C���	q�x��?��~�&���pt9V��������4hP�
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/8f/a874178500f99d69f649ff9128f3d1b62369a0 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/8f/a874178500f99d69f649ff9128f3d1b62369a0
deleted file mode 100644
index 4dea954a6a34dd4a4806c7e6e57317139b25eabb..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 148
zcmV;F0Biqv0gcW<3d0}}K+&!}h5JGoN23!crI1yQF*+j+#3lp_J$`e9Za;7F%huY`
ztsC*u4^=xV5hsvBLMVb<bCm&Hidqw?BSN1G7PIrA?`|Uo?-CbG-o-!?GN=cLB;p4y
zj0`!X(HZ{q*LK)xw)bg%>X+NT>aA?;VO<;m0Fk`C0s@$`o>N`_<fbmGqWJ-D;W;+@
CYeF0V

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/a5/2c63287cda99fcc917438c34ac8f9c67274d79 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/a5/2c63287cda99fcc917438c34ac8f9c67274d79
new file mode 100644
index 0000000000000000000000000000000000000000..5edf24c6cff2dff004c1c9174906d87ec306ef20
GIT binary patch
literal 119
zcmV--0Eqv10gcT;3c@fDMq$@E#q0%{Nhe7IB0^U^M$-JjLPMoQ@c8x!ZXX}KWp8cm
zB&wHw03;aTLyj?)EH3y|1mH1Ot!#6tHbSGSHR;n|`$5x8_i29Oo7#KBZQ0v{#5)-W
Z4$je)Ewef6IqCS5o4Rgb^8?$3EAD%MIimmo

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41 b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/b1/dfa9f82f0821f9decd33c52c9bfe0f0ff86b41
deleted file mode 100644
index 617e1b1b7ef688369a10eb77fbf273ca8ae48cf0..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 162
zcmV;T0A2rh0gaA93c@fDMP26<vlnENCX+-&1Xmto+RR|Vv{EB@e6w-y_VXX_O>3=l
z183u|Z6c6lM5T#*5q5~4DS6=#G>4SOXh$DPBqsCZO_l~pIYn<{3W%C>p{(SyYPK%v
zQ0z!<pv-9a-R|oK*BhL!w~KtZJ|A+J)_Mj@9Y#0c0DJ6G)7Ku=<j=dAmm(in7pVN|
Q)bUpZIzPmjFBthitbr{}TmS$7

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/cb/66567aecbd1ceb7caebf1c3a3d16db28f4a54c b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/cb/66567aecbd1ceb7caebf1c3a3d16db28f4a54c
new file mode 100644
index 0000000000000000000000000000000000000000..fa0541d87da1544a5a7443c74c078b4f3737d41f
GIT binary patch
literal 147
zcmV;E0Brww0gcW<3WG2ZM&Yh=itGzzGB#!cQVOm-#+dw}f~g`Y^!W7%-9Em>OIxi=
zvo7+b9e|Ax(Lgy#7S5Tq%q4qrp+^Y<C&JyFIGJ4!yqjg|l!(MD<>(>q9+^snA`rzO
zF#!afjego|JM1{wVVs`$YTZ}d(pDeV_1;NG!FzipCNgI|ryBm`rYtMi`~ao9Im@d`
BMq~g0

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd
deleted file mode 100644
index 4379cd5d8..000000000
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/d7/cc3e41ea34ee3f9441b3a1493405d34f15c1cd
+++ /dev/null
@@ -1 +0,0 @@
-x�ϻJA�a�y��鮮��ZD��6��o��=�̴�o�$榇^{�Lc�P�f���,NQ��p%-aVL�Y3���e�4���,ѹ�ZX������c`5��9;͒HEH��)I����1�8�d��np�����Z���o�)��<gQ#<:tn:�#b���m�n��O�ۯ�ԯ����G-�=N^
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/df/9f3a300512205640e5ff10b624072a10afddde b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/df/9f3a300512205640e5ff10b624072a10afddde
new file mode 100644
index 000000000..ffb320769
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/df/9f3a300512205640e5ff10b624072a10afddde
@@ -0,0 +1,3 @@
+x�ϽJA`�}���ߞY.��g��Nع=vG���ܴ꣠x��k@��i��Ym%SB�E�jk��6+�D�ao�,:�>`���lij��4��Hӡ�P-QN��5�XjĘ�Z�3Ҡ�
+*
+�	�,Ң�B��p������?�������c�5���]pn��<1��|��C�s�W8�7�m�$�O�
\ No newline at end of file
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/e4/13783635b9870fae2e48d6e6dccbdce5ddb3ff b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/e4/13783635b9870fae2e48d6e6dccbdce5ddb3ff
new file mode 100644
index 0000000000000000000000000000000000000000..cd8006b21157e06aea4127a11442538a0ecc634f
GIT binary patch
literal 161
zcmV;S0ABxi0gaA93c@fD06pgwdlw{0+hi3Hp{G7$v%A4U)0P^c&$k!vUWXYNUP>7&
zco$D~Q-!M{QnbP-=tVr`l%=yS2F(%GA^Ik<XS33#a|KQzbRm**633b%lcwyrp+;Pg
z<T1C@wQT59U&{vl0QY`)>P}^y^ukMdfD4_&#>QabY`wMSpvP3zKXo(CqB|@z6nY=k
P?RN!voYb2yy5vJ|m8VRS

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/objects/f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc b/test/integration/stashAllChanges/expected/repo/.git_keep/objects/f9/0ee43c5ddc18a1341e5d77f2319e4e00e5effc
deleted file mode 100644
index 9a5aa9571a31ac952308b2c56a2ab9ec1c6995f9..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmV;S0ABxi0gaA93c@fD06pgwdlzK0ZIg|N2tD-~X|jt2)0P^c&$k!vUWXZ&w3ISc
zAnQ+c6M-Pi(PK`WnR2G6qvj5+ccPxfGE*}qN@k6l%oSK8`__8y5H*DCg1R=S21~3>
zwxgrQg@`78>T}tkAK=yx57}c`Uvf!Hxr22_j703=jD%<odQ4UMQ#aF`Wrt;k65mI4
P{at}hFCp^<i!wo19n4C8

diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master b/test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master
index edd32295e..b6b4a34f7 100644
--- a/test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-8fa874178500f99d69f649ff9128f3d1b62369a0
+cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c
diff --git a/test/integration/stashAllChanges/expected/repo/.git_keep/refs/stash b/test/integration/stashAllChanges/expected/repo/.git_keep/refs/stash
new file mode 100644
index 000000000..1b28de6fe
--- /dev/null
+++ b/test/integration/stashAllChanges/expected/repo/.git_keep/refs/stash
@@ -0,0 +1 @@
+5a70ee314842fb5f46b452d16bc4d95e7154d4b4
diff --git a/test/integration/stashAllChanges/recording.json b/test/integration/stashAllChanges/recording.json
index 85f2d1968..f9c8f1305 100644
--- a/test/integration/stashAllChanges/recording.json
+++ b/test/integration/stashAllChanges/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":1107,"Mod":0,"Key":256,"Ch":83},{"Timestamp":1736,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2531,"Mod":0,"Key":256,"Ch":115},{"Timestamp":2623,"Mod":0,"Key":256,"Ch":116},{"Timestamp":2684,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2784,"Mod":0,"Key":256,"Ch":115},{"Timestamp":3312,"Mod":0,"Key":256,"Ch":104},{"Timestamp":3400,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3468,"Mod":0,"Key":256,"Ch":97},{"Timestamp":3583,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3716,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3913,"Mod":0,"Key":13,"Ch":13},{"Timestamp":4284,"Mod":0,"Key":256,"Ch":108},{"Timestamp":4420,"Mod":0,"Key":256,"Ch":108},{"Timestamp":4707,"Mod":0,"Key":256,"Ch":108},{"Timestamp":5231,"Mod":0,"Key":256,"Ch":103},{"Timestamp":5940,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6733,"Mod":0,"Key":256,"Ch":50},{"Timestamp":7944,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8694,"Mod":0,"Key":256,"Ch":83},{"Timestamp":9487,"Mod":0,"Key":256,"Ch":97},{"Timestamp":9952,"Mod":0,"Key":256,"Ch":115},{"Timestamp":10041,"Mod":0,"Key":256,"Ch":116},{"Timestamp":10092,"Mod":0,"Key":256,"Ch":97},{"Timestamp":10166,"Mod":0,"Key":256,"Ch":115},{"Timestamp":10253,"Mod":0,"Key":256,"Ch":104},{"Timestamp":10381,"Mod":0,"Key":256,"Ch":32},{"Timestamp":10610,"Mod":0,"Key":256,"Ch":110},{"Timestamp":10718,"Mod":0,"Key":256,"Ch":101},{"Timestamp":10869,"Mod":0,"Key":256,"Ch":119},{"Timestamp":10938,"Mod":0,"Key":256,"Ch":108},{"Timestamp":11071,"Mod":0,"Key":256,"Ch":121},{"Timestamp":11129,"Mod":0,"Key":256,"Ch":32},{"Timestamp":11279,"Mod":0,"Key":256,"Ch":116},{"Timestamp":11676,"Mod":0,"Key":256,"Ch":114},{"Timestamp":11753,"Mod":0,"Key":256,"Ch":97},{"Timestamp":11874,"Mod":0,"Key":256,"Ch":99},{"Timestamp":11984,"Mod":0,"Key":256,"Ch":107},{"Timestamp":12025,"Mod":0,"Key":256,"Ch":101},{"Timestamp":12125,"Mod":0,"Key":256,"Ch":100},{"Timestamp":12341,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12925,"Mod":0,"Key":256,"Ch":53},{"Timestamp":14343,"Mod":0,"Key":256,"Ch":103},{"Timestamp":14871,"Mod":0,"Key":13,"Ch":13},{"Timestamp":15775,"Mod":0,"Key":256,"Ch":50},{"Timestamp":16168,"Mod":0,"Key":256,"Ch":106},{"Timestamp":16308,"Mod":0,"Key":256,"Ch":106},{"Timestamp":16515,"Mod":0,"Key":256,"Ch":32},{"Timestamp":16850,"Mod":0,"Key":256,"Ch":107},{"Timestamp":17159,"Mod":0,"Key":256,"Ch":32},{"Timestamp":18125,"Mod":0,"Key":256,"Ch":83},{"Timestamp":18639,"Mod":0,"Key":256,"Ch":97},{"Timestamp":18972,"Mod":0,"Key":256,"Ch":115},{"Timestamp":19060,"Mod":0,"Key":256,"Ch":116},{"Timestamp":19168,"Mod":0,"Key":256,"Ch":97},{"Timestamp":19236,"Mod":0,"Key":256,"Ch":115},{"Timestamp":19405,"Mod":0,"Key":256,"Ch":104},{"Timestamp":19593,"Mod":0,"Key":256,"Ch":32},{"Timestamp":19857,"Mod":0,"Key":256,"Ch":119},{"Timestamp":19942,"Mod":0,"Key":256,"Ch":105},{"Timestamp":20012,"Mod":0,"Key":256,"Ch":116},{"Timestamp":20072,"Mod":0,"Key":256,"Ch":104},{"Timestamp":20128,"Mod":0,"Key":256,"Ch":32},{"Timestamp":20188,"Mod":0,"Key":256,"Ch":115},{"Timestamp":20251,"Mod":0,"Key":256,"Ch":116},{"Timestamp":20335,"Mod":0,"Key":256,"Ch":97},{"Timestamp":20432,"Mod":0,"Key":256,"Ch":103},{"Timestamp":20471,"Mod":0,"Key":256,"Ch":101},{"Timestamp":20606,"Mod":0,"Key":256,"Ch":100},{"Timestamp":20789,"Mod":0,"Key":13,"Ch":13},{"Timestamp":21429,"Mod":0,"Key":256,"Ch":53},{"Timestamp":22402,"Mod":0,"Key":256,"Ch":103},{"Timestamp":23066,"Mod":0,"Key":13,"Ch":13},{"Timestamp":24259,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24394,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24532,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24793,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":1107,"Mod":0,"Key":256,"Ch":83},{"Timestamp":1736,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2531,"Mod":0,"Key":256,"Ch":115},{"Timestamp":2623,"Mod":0,"Key":256,"Ch":116},{"Timestamp":2684,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2784,"Mod":0,"Key":256,"Ch":115},{"Timestamp":3312,"Mod":0,"Key":256,"Ch":104},{"Timestamp":3400,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3468,"Mod":0,"Key":256,"Ch":97},{"Timestamp":3583,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3716,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3913,"Mod":0,"Key":13,"Ch":13},{"Timestamp":4284,"Mod":0,"Key":256,"Ch":108},{"Timestamp":4420,"Mod":0,"Key":256,"Ch":108},{"Timestamp":4707,"Mod":0,"Key":256,"Ch":108},{"Timestamp":5231,"Mod":0,"Key":256,"Ch":32},{"Timestamp":5940,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6733,"Mod":0,"Key":256,"Ch":50},{"Timestamp":7944,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8694,"Mod":0,"Key":256,"Ch":83},{"Timestamp":9487,"Mod":0,"Key":256,"Ch":97},{"Timestamp":9952,"Mod":0,"Key":256,"Ch":115},{"Timestamp":10041,"Mod":0,"Key":256,"Ch":116},{"Timestamp":10092,"Mod":0,"Key":256,"Ch":97},{"Timestamp":10166,"Mod":0,"Key":256,"Ch":115},{"Timestamp":10253,"Mod":0,"Key":256,"Ch":104},{"Timestamp":10381,"Mod":0,"Key":256,"Ch":32},{"Timestamp":10610,"Mod":0,"Key":256,"Ch":110},{"Timestamp":10718,"Mod":0,"Key":256,"Ch":101},{"Timestamp":10869,"Mod":0,"Key":256,"Ch":119},{"Timestamp":10938,"Mod":0,"Key":256,"Ch":108},{"Timestamp":11071,"Mod":0,"Key":256,"Ch":121},{"Timestamp":11129,"Mod":0,"Key":256,"Ch":32},{"Timestamp":11279,"Mod":0,"Key":256,"Ch":116},{"Timestamp":11676,"Mod":0,"Key":256,"Ch":114},{"Timestamp":11753,"Mod":0,"Key":256,"Ch":97},{"Timestamp":11874,"Mod":0,"Key":256,"Ch":99},{"Timestamp":11984,"Mod":0,"Key":256,"Ch":107},{"Timestamp":12025,"Mod":0,"Key":256,"Ch":101},{"Timestamp":12125,"Mod":0,"Key":256,"Ch":100},{"Timestamp":12341,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12925,"Mod":0,"Key":256,"Ch":53},{"Timestamp":14343,"Mod":0,"Key":256,"Ch":32},{"Timestamp":14871,"Mod":0,"Key":13,"Ch":13},{"Timestamp":15775,"Mod":0,"Key":256,"Ch":50},{"Timestamp":16168,"Mod":0,"Key":256,"Ch":106},{"Timestamp":16308,"Mod":0,"Key":256,"Ch":106},{"Timestamp":16515,"Mod":0,"Key":256,"Ch":32},{"Timestamp":16850,"Mod":0,"Key":256,"Ch":107},{"Timestamp":17159,"Mod":0,"Key":256,"Ch":32},{"Timestamp":18125,"Mod":0,"Key":256,"Ch":83},{"Timestamp":18639,"Mod":0,"Key":256,"Ch":97},{"Timestamp":18972,"Mod":0,"Key":256,"Ch":115},{"Timestamp":19060,"Mod":0,"Key":256,"Ch":116},{"Timestamp":19168,"Mod":0,"Key":256,"Ch":97},{"Timestamp":19236,"Mod":0,"Key":256,"Ch":115},{"Timestamp":19405,"Mod":0,"Key":256,"Ch":104},{"Timestamp":19593,"Mod":0,"Key":256,"Ch":32},{"Timestamp":19857,"Mod":0,"Key":256,"Ch":119},{"Timestamp":19942,"Mod":0,"Key":256,"Ch":105},{"Timestamp":20012,"Mod":0,"Key":256,"Ch":116},{"Timestamp":20072,"Mod":0,"Key":256,"Ch":104},{"Timestamp":20128,"Mod":0,"Key":256,"Ch":32},{"Timestamp":20188,"Mod":0,"Key":256,"Ch":115},{"Timestamp":20251,"Mod":0,"Key":256,"Ch":116},{"Timestamp":20335,"Mod":0,"Key":256,"Ch":97},{"Timestamp":20432,"Mod":0,"Key":256,"Ch":103},{"Timestamp":20471,"Mod":0,"Key":256,"Ch":101},{"Timestamp":20606,"Mod":0,"Key":256,"Ch":100},{"Timestamp":20789,"Mod":0,"Key":13,"Ch":13},{"Timestamp":21429,"Mod":0,"Key":256,"Ch":53},{"Timestamp":22402,"Mod":0,"Key":256,"Ch":32},{"Timestamp":23066,"Mod":0,"Key":13,"Ch":13},{"Timestamp":24259,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24394,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24532,"Mod":0,"Key":256,"Ch":104},{"Timestamp":24793,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD
index 98460a0ae..5f3d4ba83 100644
--- a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-e55d4f76f2b99c3b6b0c960725099ae54e34af70
+056328ba39d0418acd7270389b9d5f253b98aabf
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/index b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/index
index e633e1ab156d53457f4f434db14ccefdb69e6d08..168c7d44f7b3d0108674c78d57c8ecd2dd1edb7c 100644
GIT binary patch
delta 65
zcmZo;YGYDy@eFciU|?VZV&<fh54GYtS#TOCCdDYo@@}HaIT0DgS^H9qa(2t?cqlIt
Le~E9`dDBe*8F&-G

delta 65
zcmZo;YGYDy@eFciU|?VZV&<es&QtPPziMDKP)v&9!_iw4RnCbl+`Q!tXY94_Jx^bW
N{EFUcpu0=t6abeq8A|{F

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD
index 26e835cdd..9861f89cf 100644
--- a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/HEAD
@@ -1,4 +1,4 @@
-0000000000000000000000000000000000000000 783b58a50bb867917c6a8a78ff18cadb3fdc771e CI <CI@example.com> 1650002378 +0200	commit (initial): file0
-783b58a50bb867917c6a8a78ff18cadb3fdc771e e221db5981b482fb2110c8b283f48c08cd5f10c3 CI <CI@example.com> 1650002378 +0200	commit: file1
-e221db5981b482fb2110c8b283f48c08cd5f10c3 e55d4f76f2b99c3b6b0c960725099ae54e34af70 CI <CI@example.com> 1650002378 +0200	commit: file2
-e55d4f76f2b99c3b6b0c960725099ae54e34af70 e55d4f76f2b99c3b6b0c960725099ae54e34af70 CI <CI@example.com> 1650002384 +0200	reset: moving to HEAD
+0000000000000000000000000000000000000000 5c7a56ef74b1a692d67990b3f07a3af45a0e8f48 CI <CI@example.com> 1651830909 +0200	commit (initial): file0
+5c7a56ef74b1a692d67990b3f07a3af45a0e8f48 81f8f7653f26197f4f66641d6ab4ab99ac2a3391 CI <CI@example.com> 1651830909 +0200	commit: file1
+81f8f7653f26197f4f66641d6ab4ab99ac2a3391 056328ba39d0418acd7270389b9d5f253b98aabf CI <CI@example.com> 1651830909 +0200	commit: file2
+056328ba39d0418acd7270389b9d5f253b98aabf 056328ba39d0418acd7270389b9d5f253b98aabf CI <CI@example.com> 1651830915 +0200	reset: moving to HEAD
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master
index 3032aa450..24c7e3201 100644
--- a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 783b58a50bb867917c6a8a78ff18cadb3fdc771e CI <CI@example.com> 1650002378 +0200	commit (initial): file0
-783b58a50bb867917c6a8a78ff18cadb3fdc771e e221db5981b482fb2110c8b283f48c08cd5f10c3 CI <CI@example.com> 1650002378 +0200	commit: file1
-e221db5981b482fb2110c8b283f48c08cd5f10c3 e55d4f76f2b99c3b6b0c960725099ae54e34af70 CI <CI@example.com> 1650002378 +0200	commit: file2
+0000000000000000000000000000000000000000 5c7a56ef74b1a692d67990b3f07a3af45a0e8f48 CI <CI@example.com> 1651830909 +0200	commit (initial): file0
+5c7a56ef74b1a692d67990b3f07a3af45a0e8f48 81f8f7653f26197f4f66641d6ab4ab99ac2a3391 CI <CI@example.com> 1651830909 +0200	commit: file1
+81f8f7653f26197f4f66641d6ab4ab99ac2a3391 056328ba39d0418acd7270389b9d5f253b98aabf CI <CI@example.com> 1651830909 +0200	commit: file2
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/stash b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/stash
new file mode 100644
index 000000000..a7bbabb68
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/logs/refs/stash
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 c87c87eb867338ed9956f6b28c8c3a83a1802c16 CI <CI@example.com> 1651830915 +0200	On master: keep index
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/05/6328ba39d0418acd7270389b9d5f253b98aabf b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/05/6328ba39d0418acd7270389b9d5f253b98aabf
new file mode 100644
index 000000000..31a2717bd
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/05/6328ba39d0418acd7270389b9d5f253b98aabf
@@ -0,0 +1,2 @@
+x��A
+� @Ѯ=��Bq�DG(��U�1�
�&=~s�n?o�����-$��C�&!��j�JX+�f���D#	������w�J����������9%.��'0�����l����/�}�[���B��K.٫C��Yϩ.r��*h~��9�
\ No newline at end of file
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/24/35f1f9565ecb370eb550f591d55179f1e9a7de b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/24/35f1f9565ecb370eb550f591d55179f1e9a7de
deleted file mode 100644
index 63c3eaa1198f3cb074564e50b11a007b48ce9393..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 161
zcmV;S0ABxi0gaB!3c@fD06pg`_Abaa?}&)dQ$Hh{Y_MROQX};9?Zvy-VFo6(TIUXO
zaHqa8gSAA-V@Nrc?5#^BD2Y_aX|IWVi9UF(y;$SMO9wV4>*8#Y6hcyD2~)7>q`?p(
z8_i0`;!wm-f3^+A32x)`;62v$#h29T9R_O<Q7W(Dj1o~C^qA`Wr!M9t^A2r+8sA5C
P{arzsUo6EJz<oj7ybVuV

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/5c/7a56ef74b1a692d67990b3f07a3af45a0e8f48 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/5c/7a56ef74b1a692d67990b3f07a3af45a0e8f48
new file mode 100644
index 0000000000000000000000000000000000000000..648edc330029bfd7b435bdc0f0e081fb46620dcd
GIT binary patch
literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{NvCNCM1-z-jHLO4g@#Ir;PLGd+&(^d%U<i+
zNK`NF07%dw49U!Ll70v=3&3M4TG*#tyg^OXyZC9Z{h(>4`!qlCjrG0Zw(Rvm5_%as
YHa5DlXLe^jCk=mcSJn;ee%sJ1@Ldc$9RL6T

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/78/3b58a50bb867917c6a8a78ff18cadb3fdc771e b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/78/3b58a50bb867917c6a8a78ff18cadb3fdc771e
deleted file mode 100644
index 620eb2ec8aa70787cf382552416af5d741428b91..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 119
zcmV--0Eqv10gcT;3c@fDMq$@E#q0%{NvBBzB0^U^M$-JjLPMlP@c8x!ZXX}Kwbi<H
z64gsT01^yvK7|l+lF_@E1>h+aEo@URHb8@_HSyD5?Vx#~`@B5yjrG0bwzm2paU(O^
Z!B2E$%WTeiPCEYNrffUd`~cWoE8LbTIoSXJ

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/81/f8f7653f26197f4f66641d6ab4ab99ac2a3391 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/81/f8f7653f26197f4f66641d6ab4ab99ac2a3391
new file mode 100644
index 0000000000000000000000000000000000000000..a3abc271dc37e64d41973c399ddf698f5f743d5e
GIT binary patch
literal 147
zcmV;E0Brww0gaAJ3c@fDKwak)*$XoHO*$YVbk$=_Clf3*wv-4S-yXs3dvEb%Yi;S)
zk-zjq)fUJoLLxvc%)SJyvt*`JOHdyGBSnnP?0o3E+jP2wT63HoBl&`v2<A{BbKn{i
zgAO$ghClta9d?}TeVm^9<+iVSldV0h!{mkl1Z1z^0nACysjh$KrY@^G^8>ISImP6*
BMNt3%

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c
deleted file mode 100644
index f22bfcca1..000000000
--- a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/8f/bffdd316c764e171c3e421205327588077f49c
+++ /dev/null
@@ -1 +0,0 @@
-x�ϻj1�����at�B0�r�gIg�I��Z?~�I���q�o�<߆�Oc7��A���Ob!�Z���j���i��p`��J�PEZ��R�L%0�(8!&�B>���M8�q�2����싘�h��g|���\���z�C��/m�ߝ�LD!��{�@4�1�O>},n���_���������M�
\ No newline at end of file
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/99/bcc624e9c596901f0dd572be23ba5df84ec0d5 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/99/bcc624e9c596901f0dd572be23ba5df84ec0d5
new file mode 100644
index 0000000000000000000000000000000000000000..7e40c36bb367a998729924be470de6046f7a4d9b
GIT binary patch
literal 160
zcmV;R0AK%j0gaBk3IZ_@0Il;C+Y7RJZ$w0}@-uexzyot9X9PdrYwT@@8JN8EJ`FHB
z?#5axgdma$Q!d;Jg_v8i2Bk@K<V2`3C323`lh-;AKp(6jVVep%O`J<K5iKQ2#W&-v
zBx07P_&x5+3fCK)uD475aDP7PAus(5I(SVMllHJjgQzyTO^y1euBN%v4=giuer?t9
OcLi;FRHMGBjzM~%`$!i6

literal 0
HcmV?d00001

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/c8/7c87eb867338ed9956f6b28c8c3a83a1802c16 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/c8/7c87eb867338ed9956f6b28c8c3a83a1802c16
new file mode 100644
index 000000000..8b929b556
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/c8/7c87eb867338ed9956f6b28c8c3a83a1802c16
@@ -0,0 +1 @@
+x��AJ1�a�}��RI�������g��*8h��6��lܻ}|�����m�'z�P���L����{2�ZiɉZ-1�k��CN� ��s�����R5��!sa��)�"��y�Rk�A�đq�T)�b>!my��J�������^.�7�K?����\$��#xD���u��O��o��{�g�4;ඩ�RN+
\ No newline at end of file
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e2/21db5981b482fb2110c8b283f48c08cd5f10c3 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e2/21db5981b482fb2110c8b283f48c08cd5f10c3
deleted file mode 100644
index 346dbdc7d917693747ad382ef628e7149cb667b4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 148
zcmV;F0Biqv0gcW<3d0}}K+&!}h5JGoH988V6tc=O#&M*9*aWfA<2Og>_VX5>_tw^-
zO|qBKMRWlS%!wHiF_A4U)XYf9*W$!F2veHEWYj@j-a}(_*+=q_a}1aaa-c{UYc-Ln
zWLFC#8d3Bauf6Me(f4_I%9q-)$&L5+&?a~QunwcXf(1}#J*S5J$yHr9G3p1=O*$CJ
C7f1vE

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e5/5d4f76f2b99c3b6b0c960725099ae54e34af70 b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/objects/e5/5d4f76f2b99c3b6b0c960725099ae54e34af70
deleted file mode 100644
index 5db9016237d1f9d0490bdb311233ef3d6be1f7f8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcW<3d0}}K+&!}h5JI88DpG4DTS<Z3>`-rh&2QYJ$`e9ZXbW~rPaE2
zixXY?p=u{(jsdc8X3CjjNhN#0Flq^`$V@H?iP__!?{1X{bMg~o8kkBVL=aBIt_&=|
zl6^VFnfU3icG!8b_j!5hH`aaAo3#3{IC=me7ua5b0L-c9RM$UqQ`Sw%`~avSIjWNc
BL}UN}

diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master
index 98460a0ae..5f3d4ba83 100644
--- a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-e55d4f76f2b99c3b6b0c960725099ae54e34af70
+056328ba39d0418acd7270389b9d5f253b98aabf
diff --git a/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/stash b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/stash
new file mode 100644
index 000000000..4a3424d55
--- /dev/null
+++ b/test/integration/stashAllChangesKeepIndex/expected/repo/.git_keep/refs/stash
@@ -0,0 +1 @@
+c87c87eb867338ed9956f6b28c8c3a83a1802c16
diff --git a/test/integration/stashAllChangesKeepIndex/recording.json b/test/integration/stashAllChangesKeepIndex/recording.json
index 353ca2ae6..f9ae3f103 100644
--- a/test/integration/stashAllChangesKeepIndex/recording.json
+++ b/test/integration/stashAllChangesKeepIndex/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":1343,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1895,"Mod":0,"Key":256,"Ch":83},{"Timestamp":3116,"Mod":0,"Key":256,"Ch":105},{"Timestamp":4389,"Mod":0,"Key":256,"Ch":107},{"Timestamp":4458,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4571,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4656,"Mod":0,"Key":256,"Ch":112},{"Timestamp":4742,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4834,"Mod":0,"Key":256,"Ch":105},{"Timestamp":4908,"Mod":0,"Key":256,"Ch":110},{"Timestamp":4965,"Mod":0,"Key":256,"Ch":100},{"Timestamp":5013,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5162,"Mod":0,"Key":256,"Ch":120},{"Timestamp":5500,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6822,"Mod":0,"Key":256,"Ch":53},{"Timestamp":8093,"Mod":0,"Key":256,"Ch":103},{"Timestamp":8985,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9950,"Mod":0,"Key":256,"Ch":49},{"Timestamp":10588,"Mod":0,"Key":256,"Ch":106},{"Timestamp":11171,"Mod":0,"Key":256,"Ch":50},{"Timestamp":11581,"Mod":0,"Key":256,"Ch":32},{"Timestamp":12392,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":1343,"Mod":0,"Key":256,"Ch":32},{"Timestamp":1895,"Mod":0,"Key":256,"Ch":83},{"Timestamp":3116,"Mod":0,"Key":256,"Ch":105},{"Timestamp":4389,"Mod":0,"Key":256,"Ch":107},{"Timestamp":4458,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4571,"Mod":0,"Key":256,"Ch":101},{"Timestamp":4656,"Mod":0,"Key":256,"Ch":112},{"Timestamp":4742,"Mod":0,"Key":256,"Ch":32},{"Timestamp":4834,"Mod":0,"Key":256,"Ch":105},{"Timestamp":4908,"Mod":0,"Key":256,"Ch":110},{"Timestamp":4965,"Mod":0,"Key":256,"Ch":100},{"Timestamp":5013,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5162,"Mod":0,"Key":256,"Ch":120},{"Timestamp":5500,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6822,"Mod":0,"Key":256,"Ch":53},{"Timestamp":8093,"Mod":0,"Key":256,"Ch":32},{"Timestamp":8985,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9950,"Mod":0,"Key":256,"Ch":49},{"Timestamp":10588,"Mod":0,"Key":256,"Ch":106},{"Timestamp":11171,"Mod":0,"Key":256,"Ch":50},{"Timestamp":11581,"Mod":0,"Key":256,"Ch":32},{"Timestamp":12392,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD
index a47ee9407..218f6a270 100644
--- a/test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-2b515d20a02212d14a519d82917b791e01ebc659
+b71c3131aa943097c697d5194d0f4de01f82b743
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/index b/test/integration/stashStagedChanges/expected/repo/.git_keep/index
index b5bae0d08c39b600fdd868e3dfa6c8313b042ee4..09e14a6d2f319b0cd777d35d9660a8cd8e08981a 100644
GIT binary patch
delta 92
zcmX@dbdE{I#WTp6fq{Vuh*^?KKDmnJJY5B&fnrjOf?RthsvHzA`Q$Hn%d`S01*RcV
g+!_=A*okD_+qUcE$3^d-R76Z_Y`5R=VzbG70Ec)ZkN^Mx

delta 92
zcmX@dbdE{I#WTp6fq{Vuh*^>%Ie&2MKVJc(fnrh&A5Mf$R5>Uf$;BuvyvaEUN<*bS
ePyAyiQt~t0;rs-T)vJVEG~V)u9Aw=(r4Rredmo4Z

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD
index a5965cba2..4df45bbb4 100644
--- a/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/HEAD
@@ -1,5 +1,5 @@
-0000000000000000000000000000000000000000 4062b34fff18c4453edded2da4f0737176daaa4d CI <CI@example.com> 1650002424 +0200	commit (initial): file0
-4062b34fff18c4453edded2da4f0737176daaa4d b160a56c2580f8cc1e5432f32212f83395459997 CI <CI@example.com> 1650002424 +0200	commit: file1
-b160a56c2580f8cc1e5432f32212f83395459997 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002424 +0200	commit: file2
-2b515d20a02212d14a519d82917b791e01ebc659 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002430 +0200	reset: moving to HEAD
-2b515d20a02212d14a519d82917b791e01ebc659 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002430 +0200	reset: moving to HEAD
+0000000000000000000000000000000000000000 6cd167c43cd50ae47f776f182ed6ff0b0a4471e3 CI <CI@example.com> 1651831365 +0200	commit (initial): file0
+6cd167c43cd50ae47f776f182ed6ff0b0a4471e3 29d32b3857eab1a570b9fc534dd90b9876c5cd1a CI <CI@example.com> 1651831365 +0200	commit: file1
+29d32b3857eab1a570b9fc534dd90b9876c5cd1a b71c3131aa943097c697d5194d0f4de01f82b743 CI <CI@example.com> 1651831365 +0200	commit: file2
+b71c3131aa943097c697d5194d0f4de01f82b743 b71c3131aa943097c697d5194d0f4de01f82b743 CI <CI@example.com> 1651831372 +0200	reset: moving to HEAD
+b71c3131aa943097c697d5194d0f4de01f82b743 b71c3131aa943097c697d5194d0f4de01f82b743 CI <CI@example.com> 1651831372 +0200	reset: moving to HEAD
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master
index 8e5dd5d7f..106c3646d 100644
--- a/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,3 +1,3 @@
-0000000000000000000000000000000000000000 4062b34fff18c4453edded2da4f0737176daaa4d CI <CI@example.com> 1650002424 +0200	commit (initial): file0
-4062b34fff18c4453edded2da4f0737176daaa4d b160a56c2580f8cc1e5432f32212f83395459997 CI <CI@example.com> 1650002424 +0200	commit: file1
-b160a56c2580f8cc1e5432f32212f83395459997 2b515d20a02212d14a519d82917b791e01ebc659 CI <CI@example.com> 1650002424 +0200	commit: file2
+0000000000000000000000000000000000000000 6cd167c43cd50ae47f776f182ed6ff0b0a4471e3 CI <CI@example.com> 1651831365 +0200	commit (initial): file0
+6cd167c43cd50ae47f776f182ed6ff0b0a4471e3 29d32b3857eab1a570b9fc534dd90b9876c5cd1a CI <CI@example.com> 1651831365 +0200	commit: file1
+29d32b3857eab1a570b9fc534dd90b9876c5cd1a b71c3131aa943097c697d5194d0f4de01f82b743 CI <CI@example.com> 1651831365 +0200	commit: file2
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/stash b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/stash
new file mode 100644
index 000000000..e5d15aef0
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/logs/refs/stash
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 cc4c970471739bc691d2e94cdb419f6e7932f396 CI <CI@example.com> 1651831372 +0200	On master: stash staged
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/29/d32b3857eab1a570b9fc534dd90b9876c5cd1a b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/29/d32b3857eab1a570b9fc534dd90b9876c5cd1a
new file mode 100644
index 000000000..7363877b2
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/29/d32b3857eab1a570b9fc534dd90b9876c5cd1a
@@ -0,0 +1,3 @@
+x��M
+�0@a�9E����gҀ��U�1�L���R"x|{��o�dkm����C�H$�E �0��Β8�Z�:r��f�C�ݒ�$�K��RM�*N�
+3p	����v�q��qz�۾�M���H�����0g=����M]VE���9�
\ No newline at end of file
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/515d20a02212d14a519d82917b791e01ebc659 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/515d20a02212d14a519d82917b791e01ebc659
deleted file mode 100644
index 0f1ad7e2f6b933bb926fc3f8af2f726d07238323..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 148
zcmV;F0Biqv0gcX03c@fDKw;N8MfQSBCVvwU5xVLz(#Zr1jV&R9$G1mt`}h`*_tw^-
zO~T9QB033Cj!>8iVJVpFQi}%@gVac3h|n&Ktd88}J@jG%WFHtkK_zA*-dU^`(O@NO
zlXpI)6jlC=*WUFs>-#i6<(u2F$&L5+&?a~QK!;9W0Rhxm&#57Qa#hz&Q2hW)yEwy|
CdPSB1

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/d62bafdea9ceb4732326e82d4ce14196d7a032 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/2b/d62bafdea9ceb4732326e82d4ce14196d7a032
deleted file mode 100644
index 1b07a5cbc28f199fff1ccc844654d961d5b1ef01..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 160
zcmV;R0AK%j0gaA93c@fD06pgwdlzJPleCS92tD-~+hl_U)0SGH&o>wEUWXZ&xRf&O
zz|@}hO%+_WNExlPIYciuhE9Yjq=cC|Ct0J->^if`rgIHPPd+gUG7~3q;;Y<opmuBn
zDUyz{@xjPve=ZyJ1Kj%Ip@)?9rI)yrJ5b{hk)1_2BO{th>(s7)>Smgg9<a<%<Xx-l
O?+WttQZ`>E4M4WNyG$nl

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/40/62b34fff18c4453edded2da4f0737176daaa4d b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/40/62b34fff18c4453edded2da4f0737176daaa4d
deleted file mode 100644
index 2fe4f5acdc5783bf6b3760d173ab1c8c009e0c81..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 118
zcmV-+0Ez#20gcT;3c@fDMq$@E#q0%{8K<cM5uvLdBWeC%p&?Qtczk;Vw~r6r(rR5h
ziP@>|012+}V+tYUB*W-q7JzT5SYb`MXn+MXb@9_*ZKr9b`!qlCjrG0Zvb6dj@dGof
YsnMC0*&X$mbo|L(SvRoz0oCp+%zP_4y8r+H

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/54/fbb8276359cb6f68faa9cb7dcf58f93c838035 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/54/fbb8276359cb6f68faa9cb7dcf58f93c838035
deleted file mode 100644
index 77c7961f7d0703649d5ac3c4b5a917c8c48588c6..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 187
zcmV;s07U<I0gaD6O9Vj-K&|&zOfN{1$$aDx5w6<K&N?&6;=#@Bv993HcN?*_eY{t^
zzK(I(17&*HH}^m_Nf%8^<k%|+NoBU|EEbDU6U@@tbh_*2w<Bx`lMyHoAsMnJ6ssgy
zS`l<WZ#^gZ^DR@;#ayL(;}R)S_DaUxkx{Z0g-DZr?H}tF&U1J^&#(Ti<9_w0zK)lG
pIROB1gzyLiFdg)m*!`dS^gh3Z^%jPH9?j|ZAuN}x(+}`5OolhkT$um>

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/67/9786f833f91434f42757cc4b3bfb9ee1c573c5 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/67/9786f833f91434f42757cc4b3bfb9ee1c573c5
new file mode 100644
index 000000000..add1a9479
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/67/9786f833f91434f42757cc4b3bfb9ee1c573c5
@@ -0,0 +1,2 @@
+x��A
+�0E]��$�I�DD��z�i2��iK��㛍{���/����S�E�fҘ5��!vL1xf�!%��[�)��ƻ,&����9X���>��a���I�˛�YR���u�a��0>�ಽ��r�;�M����Z��EU�W��u������� �/1�XKA
\ No newline at end of file
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/6c/d167c43cd50ae47f776f182ed6ff0b0a4471e3 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/6c/d167c43cd50ae47f776f182ed6ff0b0a4471e3
new file mode 100644
index 0000000000000000000000000000000000000000..1cf887e68d687e8d0750887170fac83f971bf067
GIT binary patch
literal 119
zcmV--0Eqv10gcT;3c@fDMq$@E#q0%{NhWCnB0^U^M$-JjLPMoQ@c8x!ZXX}KWp8cm
zB&wHw03>h-Lyj?)EPe>72*6{mTG{4OZG=WuYtpB`_JgLG?$i9lH?{YM+p@O@N$@f{
ZalzA-Ewef6IqCS5o4Rgb^8?!BE9$5~J7xd?

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b1/60a56c2580f8cc1e5432f32212f83395459997 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b1/60a56c2580f8cc1e5432f32212f83395459997
deleted file mode 100644
index 333da1d7e89c078282ccfa1e553f903344f3f220..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gcW<3c@fDKvCB@MfQSBCey@#h|pD!F`b!U!PrtFczk;Vx1YE8vbMH#
z9}1rOZsrwo5-B23SeQ{`s<UJ+L)B;)AyJ`3!EL<TyL*C!bEH~pxC+q_P1O{YsX~r9
z<fP0@>iE;2>+Z+N-^S@-UvAsWF0!_}4`~1ZBqV<Z1aL<^rn>#fU0q%l+z;EDIvQSg
BM?e4o

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b7/1c3131aa943097c697d5194d0f4de01f82b743 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/b7/1c3131aa943097c697d5194d0f4de01f82b743
new file mode 100644
index 0000000000000000000000000000000000000000..a0d6edf738b338342776bc714cdbac035660a951
GIT binary patch
literal 147
zcmV;E0Brww0gaA93c@fD06pgwxeJorm}CPYLQj3hCcD9cv86=t`SuCkhG7m<*WQ<5
zA>(Q6sx~VTCnuGJPz1S^Cc#09+7c-cp)VDy*?8CYu$aYT@f4DB0S?KP+-mSwk$fPf
zSVI+H!=Le7cRS7YHq8(Ha^GHhscXMmhylohkHMZDI%f`hObz`rH*I+-njhSWIx2Of
BL-_yz

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/cc/4c970471739bc691d2e94cdb419f6e7932f396 b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/cc/4c970471739bc691d2e94cdb419f6e7932f396
new file mode 100644
index 0000000000000000000000000000000000000000..8bc1b9af9a25706e16e3c35c6d75d0b5bcc85360
GIT binary patch
literal 190
zcmV;v073tF0gcbWN(3<s24K(g6uk@5H0h)j5n)ez@)^=Jb%pKDGE>3Fw;sHE$>HbY
z|A}tBe-0NSKaAbXQ9}>Sqj1X_1vMv;0J&D*AdxgvY=P2pm)&l|6$V8>5Xpo-v#yzI
zgiO;@wb_+IVZuMZa^|$QgxE3=Qlr3;RjFWUC7XdpMvaSnjmx&X)7ib8&TsZD{eHD4
s-TJG8HA0%B9NeQ1-Y+wqPYnAfU*2!7%Q5}4JBA#W-}_<p2RZ~zBVw6eD*ylh

literal 0
HcmV?d00001

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fb/0410e49f4f878fc7a57497556a45c7d052a63e b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fb/0410e49f4f878fc7a57497556a45c7d052a63e
new file mode 100644
index 000000000..bd48dab01
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fb/0410e49f4f878fc7a57497556a45c7d052a63e
@@ -0,0 +1 @@
+x���j1S�W�[�-�!p�v�R۲Lη�Ɓ|~��>�c��6�e:H�4w39�J�	5{�D-IC��(����n��*ŀ�!�š�[B�wj�C�P���'Ωg�.��:GV���W15.�g~m�;������o����6�\H1�C���=x��1���~���F�>>�G�뗫��4LR
\ No newline at end of file
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fe/0b6136ae74e574b3349fabbf0b89053c6a201e b/test/integration/stashStagedChanges/expected/repo/.git_keep/objects/fe/0b6136ae74e574b3349fabbf0b89053c6a201e
deleted file mode 100644
index 6524d6dfdd5728432601ba48d1de6655068bd7c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 187
zcmV;s07U<I0gcbSY6CG41mM*76zT(EclB>f2)J^UXIN=halrDKI|cIikt?@prWn2{
zrmnqz4?{k_j7`<JW&s;mjxATuw&ui4m_?vra@@4qMlLOP-t;zy#iJJj1|lRu$A02O
z8DohV6;MkJK0mz#D%?alS1m4DvJ^CtxT@$d2Z;=p7XBHRbu*{4IiAiR`pf-()wjC#
pcZ0zL067ch6$oIN?L0B`pM3eena=z42eS{}FOU3E`2%N@O;&ZoS55!`

diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master b/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master
index a47ee9407..218f6a270 100644
--- a/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-2b515d20a02212d14a519d82917b791e01ebc659
+b71c3131aa943097c697d5194d0f4de01f82b743
diff --git a/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/stash b/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/stash
new file mode 100644
index 000000000..58354ed35
--- /dev/null
+++ b/test/integration/stashStagedChanges/expected/repo/.git_keep/refs/stash
@@ -0,0 +1 @@
+cc4c970471739bc691d2e94cdb419f6e7932f396
diff --git a/test/integration/stashStagedChanges/recording.json b/test/integration/stashStagedChanges/recording.json
index 6668ebd74..70962d14a 100644
--- a/test/integration/stashStagedChanges/recording.json
+++ b/test/integration/stashStagedChanges/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":1280,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2255,"Mod":0,"Key":256,"Ch":106},{"Timestamp":2343,"Mod":0,"Key":256,"Ch":106},{"Timestamp":2674,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3166,"Mod":0,"Key":256,"Ch":83},{"Timestamp":4209,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4609,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4677,"Mod":0,"Key":256,"Ch":116},{"Timestamp":4764,"Mod":0,"Key":256,"Ch":97},{"Timestamp":4831,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4956,"Mod":0,"Key":256,"Ch":104},{"Timestamp":5090,"Mod":0,"Key":256,"Ch":32},{"Timestamp":5382,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5442,"Mod":0,"Key":256,"Ch":116},{"Timestamp":5529,"Mod":0,"Key":256,"Ch":97},{"Timestamp":5632,"Mod":0,"Key":256,"Ch":103},{"Timestamp":5696,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5836,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6323,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7236,"Mod":0,"Key":256,"Ch":53},{"Timestamp":8544,"Mod":0,"Key":256,"Ch":103},{"Timestamp":9140,"Mod":0,"Key":13,"Ch":13},{"Timestamp":10071,"Mod":0,"Key":256,"Ch":50},{"Timestamp":10936,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":1280,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2255,"Mod":0,"Key":256,"Ch":106},{"Timestamp":2343,"Mod":0,"Key":256,"Ch":106},{"Timestamp":2674,"Mod":0,"Key":256,"Ch":32},{"Timestamp":3166,"Mod":0,"Key":256,"Ch":83},{"Timestamp":4209,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4609,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4677,"Mod":0,"Key":256,"Ch":116},{"Timestamp":4764,"Mod":0,"Key":256,"Ch":97},{"Timestamp":4831,"Mod":0,"Key":256,"Ch":115},{"Timestamp":4956,"Mod":0,"Key":256,"Ch":104},{"Timestamp":5090,"Mod":0,"Key":256,"Ch":32},{"Timestamp":5382,"Mod":0,"Key":256,"Ch":115},{"Timestamp":5442,"Mod":0,"Key":256,"Ch":116},{"Timestamp":5529,"Mod":0,"Key":256,"Ch":97},{"Timestamp":5632,"Mod":0,"Key":256,"Ch":103},{"Timestamp":5696,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5836,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6323,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7236,"Mod":0,"Key":256,"Ch":53},{"Timestamp":8544,"Mod":0,"Key":256,"Ch":32},{"Timestamp":9140,"Mod":0,"Key":13,"Ch":13},{"Timestamp":10071,"Mod":0,"Key":256,"Ch":50},{"Timestamp":10936,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD
index a25f0f809..1a390f25a 100644
--- a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/ORIG_HEAD
@@ -1 +1 @@
-ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b
+70dfa7fd25e9af49b7277738270a61d5dfbbac53
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/index b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/index
index 6d965fc2eeed7c17d2a23738e2122ba3769aceed..4421704b30eeddd78ae8643b13363655ae762548 100644
GIT binary patch
delta 92
zcmZo;YGYDy@eFciU|?VZV&<fhPb$oZmfwTXKrtysLC!Z5RSd;}QY?K^FF{fu8Y=Z~
dVosaL%(jaY+U)~xzOg^}v3JcJo%4c>ApkacAkzQ<

delta 92
zcmZo;YGYDy@eFciU|?VZV&<esE_TVh<y9~mC?>`5;pFUzDu&`fDJd(dVvrPwhDxoS
dnA0X=sp7|Q``&7OliQYAuP2yZ|9YKC5dZ>L8zcY#

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD
index c1a19352a..bf3da7509 100644
--- a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/HEAD
@@ -1,6 +1,6 @@
-0000000000000000000000000000000000000000 84988130b443577e2afc62d4103f92fcbed33add CI <CI@example.com> 1650002439 +0200	commit (initial): file0
-84988130b443577e2afc62d4103f92fcbed33add c884f894908d3042f54995005b8e3445958b2fcc CI <CI@example.com> 1650002439 +0200	commit: file1
-c884f894908d3042f54995005b8e3445958b2fcc 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002439 +0200	commit: file2
-74244487ab29dc413ae1f98e4fa40256a0787212 ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b CI <CI@example.com> 1650002447 +0200	commit: [lazygit] stashing unstaged changes
-ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b CI <CI@example.com> 1650002447 +0200	reset: moving to HEAD
-ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002447 +0200	reset: moving to HEAD^
+0000000000000000000000000000000000000000 f8e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689 CI <CI@example.com> 1651831332 +0200	commit (initial): file0
+f8e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689 e702e6113eff6883a33505e2b28cff2df3420fed CI <CI@example.com> 1651831332 +0200	commit: file1
+e702e6113eff6883a33505e2b28cff2df3420fed b245d3aa308ffdfdd194a94ad84a678a8a7a028c CI <CI@example.com> 1651831332 +0200	commit: file2
+b245d3aa308ffdfdd194a94ad84a678a8a7a028c 70dfa7fd25e9af49b7277738270a61d5dfbbac53 CI <CI@example.com> 1651831340 +0200	commit: [lazygit] stashing unstaged changes
+70dfa7fd25e9af49b7277738270a61d5dfbbac53 70dfa7fd25e9af49b7277738270a61d5dfbbac53 CI <CI@example.com> 1651831340 +0200	reset: moving to HEAD
+70dfa7fd25e9af49b7277738270a61d5dfbbac53 b245d3aa308ffdfdd194a94ad84a678a8a7a028c CI <CI@example.com> 1651831340 +0200	reset: moving to HEAD^
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master
index 02ecdf692..e46c60988 100644
--- a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/heads/master
@@ -1,5 +1,5 @@
-0000000000000000000000000000000000000000 84988130b443577e2afc62d4103f92fcbed33add CI <CI@example.com> 1650002439 +0200	commit (initial): file0
-84988130b443577e2afc62d4103f92fcbed33add c884f894908d3042f54995005b8e3445958b2fcc CI <CI@example.com> 1650002439 +0200	commit: file1
-c884f894908d3042f54995005b8e3445958b2fcc 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002439 +0200	commit: file2
-74244487ab29dc413ae1f98e4fa40256a0787212 ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b CI <CI@example.com> 1650002447 +0200	commit: [lazygit] stashing unstaged changes
-ed408704bb5eb653ceacee9ce485ef1bb0ea7a0b 74244487ab29dc413ae1f98e4fa40256a0787212 CI <CI@example.com> 1650002447 +0200	reset: moving to HEAD^
+0000000000000000000000000000000000000000 f8e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689 CI <CI@example.com> 1651831332 +0200	commit (initial): file0
+f8e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689 e702e6113eff6883a33505e2b28cff2df3420fed CI <CI@example.com> 1651831332 +0200	commit: file1
+e702e6113eff6883a33505e2b28cff2df3420fed b245d3aa308ffdfdd194a94ad84a678a8a7a028c CI <CI@example.com> 1651831332 +0200	commit: file2
+b245d3aa308ffdfdd194a94ad84a678a8a7a028c 70dfa7fd25e9af49b7277738270a61d5dfbbac53 CI <CI@example.com> 1651831340 +0200	commit: [lazygit] stashing unstaged changes
+70dfa7fd25e9af49b7277738270a61d5dfbbac53 b245d3aa308ffdfdd194a94ad84a678a8a7a028c CI <CI@example.com> 1651831340 +0200	reset: moving to HEAD^
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/stash b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/stash
new file mode 100644
index 000000000..869d2d514
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/logs/refs/stash
@@ -0,0 +1 @@
+0000000000000000000000000000000000000000 80a20247e61d440004def8f284964334ee381d0a CI <CI@example.com> 1651831340 +0200	On master: unstaged
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d
deleted file mode 100644
index 205ac4dc4..000000000
--- a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/3a/8dac53bf53e3243a325a9e0b3ef523764ee74d
+++ /dev/null
@@ -1,2 +0,0 @@
-x���j�0Ds�W�=P6�Z�K)���
��]ie"9�
-$���{n��xa�y�Б��U�	�9Eo]HñCI�ȓ�O�O�͍W-4z�m�Ul�AuJ��tAe�(��uZV8���t����U?’��`{D��C4�mRU���\�>`)�yk�ϗ\�����[�m�������e���#�N�
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/70/dfa7fd25e9af49b7277738270a61d5dfbbac53 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/70/dfa7fd25e9af49b7277738270a61d5dfbbac53
new file mode 100644
index 000000000..9ba23ed1e
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/70/dfa7fd25e9af49b7277738270a61d5dfbbac53
@@ -0,0 +1,3 @@
+x���
+�0E]�+f/H^�S��7��I&I}Ѧ�~���.���aǾ���T��9��:0%FW�T-}�E�=&��E���^�+"#1%N̪�t�ђ���*����t�
+M��}�7��/a��U�Q�J8K-�8�q��?s����}y�Vh��)�>�#C�h�q?�?F.
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/74/244487ab29dc413ae1f98e4fa40256a0787212 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/74/244487ab29dc413ae1f98e4fa40256a0787212
deleted file mode 100644
index 3a76ae79effe1c72a419c2210cf38012f46a303c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 147
zcmV;E0Brww0gaA93d0}}0DJZo-V0@2HQ9wy3OVH&x~?=3n-DDY`OOo09cEx;Yi;S)
zF<$ziYFUZW2t}w6mV&9~S|Ye{&^nSjBJ^2M%$^Q?cPm7p5(fq<9s<@Fm?J>Uq&|em
zkup{hlRo{m9d?@SeVU*8O>JNGCR=-0H=F@r@NBPu0Oq9URM$UsQ<qiI`~Y64ITI{S
BK@I=_

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/80/a20247e61d440004def8f284964334ee381d0a b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/80/a20247e61d440004def8f284964334ee381d0a
new file mode 100644
index 0000000000000000000000000000000000000000..8f444fadef30ec3477ce8746a255a7d5fb318b72
GIT binary patch
literal 187
zcmV;s07U<I0gcZwY6CG4h2hkD3iSaqBds*65JJF}E1zLTGfD!{u35|A<6Dh;w~y}?
zf7x35>(0mU)^{@(i`C54IB_6da?L)PpG_(us})H>u>wsO-fiuUKr2(#p~h{_LY|1i
z;t4pRMy(=TVt9Hfvmi&wl0XR%sIp|B1p^7IM{hpIL=)fo@3y<+$$cJA-*)GA`L{#a
p+Lyx=aS0e^aPQy&rm>EQZZGobyt>BM;XmAMy>|XFeE^S-O@)lXTuuN0

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/84/988130b443577e2afc62d4103f92fcbed33add b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/84/988130b443577e2afc62d4103f92fcbed33add
deleted file mode 100644
index 2e8429425b871e8af3c5bd6fd578e5f971f90e35..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 118
zcmV-+0Ez#20gcT;3WG2ZM&Yh=irE*+B#yBIMGCGwMq>U@!4Q!YJbpbww~r6rQcGDI
zS&>^i0J7-dhp4J4+J5jMS%9B0OJ)~Sb_!7uXTrCA>Os>?uW5ec3}xT&SZW!``ktAc
YbV_%2%;u`sq~T9)^16Y|57)jc*!@d5lmGw#

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/b2/45d3aa308ffdfdd194a94ad84a678a8a7a028c b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/b2/45d3aa308ffdfdd194a94ad84a678a8a7a028c
new file mode 100644
index 000000000..847d9486a
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/b2/45d3aa308ffdfdd194a94ad84a678a8a7a028c
@@ -0,0 +1,3 @@
+x��M
+�0@a�9E��̏IF��1�d�-%�ǷGp��������N}W�7�	j�*T+e���Ւ(�O������5iDd5�"������Q5��V�?���~�}���m[�R���
+#3�3�;�1��O�l^����:
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/bc/4b1a5b9b60d70107fab9078137bad212e29567 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/bc/4b1a5b9b60d70107fab9078137bad212e29567
new file mode 100644
index 000000000..07c62f2ce
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/bc/4b1a5b9b60d70107fab9078137bad212e29567
@@ -0,0 +1 @@
+x��Aj�0E��)f(�$kF��BV9C�b$�lC$[����7�w���/��.�×����1&�!e.�<��ѱDt�b���9R7ޤu@�c�f��Ņ�-��<�#��*��y��|����S\oWyMk������:
'm�V�zDu������k����z����+�<����y��6��8I�4s�dW���Ny
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c2/71c5cc28c056383278c655b4e227fa69b06073 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c2/71c5cc28c056383278c655b4e227fa69b06073
deleted file mode 100644
index 9eb55491472fd9e6f7fe5d602e168001cf8a1a52..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 185
zcmV;q07n0K0gcZwY6CG4M&Z<Z3iW|7tI<fS5JJF}tDIp*`jrHtU9*-U$ImwI-9EnN
zm96)m;k@wE*a0U6Eo*~D<y4p4vKROOYiZVsVv+0IC`}jLu?~kCXh{^z1Qvx0v;esv
zEP^(h5i}{;-Lo!Li?B6eun(;4MKj14O+2R<fE4PaxADF0?sRr<r}GE?v|oPlQnvo?
n<|stuLrCtKJkfO2V`AVzK7FpP>-F%j?zUcsexd#YQSMH|DN$cx

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c8/84f894908d3042f54995005b8e3445958b2fcc b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/c8/84f894908d3042f54995005b8e3445958b2fcc
deleted file mode 100644
index 92422c064dd6d8da7d13d1eea47a39ec57021bbf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 148
zcmV;F0Biqv0gcWv3d1lAK+(=Vh4(^{CC84SltQK)Ly=_~NSY8_=<%B)bp5>H>$a|Q
z^MUcw4l`dMCskGj78SulsZN@OyIRPQAVrQT2Di&$@8<i+eIE#>7^%zIP^u;@F#uJ@
zs*@EWDaFaBy|%*-qrVU1)4sCqi`{fvA3mfG05B5!D<FV7>p9izPwwixSa3g*wK<@8
CD@UvV

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/e7/02e6113eff6883a33505e2b28cff2df3420fed b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/e7/02e6113eff6883a33505e2b28cff2df3420fed
new file mode 100644
index 000000000..f70dd165a
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/e7/02e6113eff6883a33505e2b28cff2df3420fed
@@ -0,0 +1,3 @@
+x��M
+�0@a�9E��L�&��1&�	Z[J�o����-�l�:w��_��j+d! f_�"�)���H�3;��
�J-���YA�/%2C)T��
+d��_�a�����_^�Eo���0�!����0g=����M�u�P�;
\ No newline at end of file
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/ed/408704bb5eb653ceacee9ce485ef1bb0ea7a0b
deleted file mode 100644
index b7c7df645bc8e489f7be3691c80d36c37b6b6b2a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 176
zcmV;h08jsT0gaA9YQr!PMZ4B1W?v}d$wV4K2!X6}hLXid9@&Q24z>bqPhTA&yZ;}b
z$It6LPZfyhqi$y4eM(s{=3YxLKI9S)gsG&!!YN5niNY-Ishceo0u#3yG*Rp`cL%ku
zL@_SPNJp<2Bv40AUv*qJxZdD&y<O}_=jX$|@;aZP^G8H%o&cXnh_2Cgs@j`#_x;en
e-(jkE*sJd2v<&cCS{$s0JnAyo?*0MHmPFUrbXNZW

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/f8/e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689 b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/objects/f8/e5bdb9f59bd7ae0c72bb4aa0bb9d6af96ec689
new file mode 100644
index 0000000000000000000000000000000000000000..06d1efef3f9406727880c4dfa700e8f4d58ed23f
GIT binary patch
literal 119
zcmV--0Eqv10gcT;3c@fDMq$@E#q0%{Nv3H7B0^U^M$-JjLPMlP@c8x!ZXX}Kwbi<H
z64gsT01`O(F@+Fvl40~Q3&2w<TG*ysY=8z;YvQNB+ClR|_j!5Z8|!<=ZEf{I;s=?W
ZIA`g~mf4*3oOJxjP1$y^`2pDvE8fr&J1YPH

literal 0
HcmV?d00001

diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master
index 5df16c6e7..eb757b2d0 100644
--- a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/heads/master
@@ -1 +1 @@
-74244487ab29dc413ae1f98e4fa40256a0787212
+b245d3aa308ffdfdd194a94ad84a678a8a7a028c
diff --git a/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/stash b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/stash
new file mode 100644
index 000000000..607b99017
--- /dev/null
+++ b/test/integration/stashUnstagedChanges/expected/repo/.git_keep/refs/stash
@@ -0,0 +1 @@
+80a20247e61d440004def8f284964334ee381d0a
diff --git a/test/integration/stashUnstagedChanges/recording.json b/test/integration/stashUnstagedChanges/recording.json
index 704084fbb..78feca750 100644
--- a/test/integration/stashUnstagedChanges/recording.json
+++ b/test/integration/stashUnstagedChanges/recording.json
@@ -1 +1 @@
-{"KeyEvents":[{"Timestamp":1319,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2975,"Mod":0,"Key":256,"Ch":83},{"Timestamp":5557,"Mod":0,"Key":256,"Ch":117},{"Timestamp":7054,"Mod":0,"Key":256,"Ch":117},{"Timestamp":7219,"Mod":0,"Key":256,"Ch":110},{"Timestamp":7262,"Mod":0,"Key":256,"Ch":115},{"Timestamp":7319,"Mod":0,"Key":256,"Ch":116},{"Timestamp":7404,"Mod":0,"Key":256,"Ch":97},{"Timestamp":7492,"Mod":0,"Key":256,"Ch":103},{"Timestamp":7534,"Mod":0,"Key":256,"Ch":101},{"Timestamp":7679,"Mod":0,"Key":256,"Ch":100},{"Timestamp":7965,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9053,"Mod":0,"Key":256,"Ch":53},{"Timestamp":10348,"Mod":0,"Key":256,"Ch":103},{"Timestamp":10979,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12354,"Mod":0,"Key":256,"Ch":50},{"Timestamp":12874,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}
\ No newline at end of file
+{"KeyEvents":[{"Timestamp":1319,"Mod":0,"Key":256,"Ch":32},{"Timestamp":2975,"Mod":0,"Key":256,"Ch":83},{"Timestamp":5557,"Mod":0,"Key":256,"Ch":117},{"Timestamp":7054,"Mod":0,"Key":256,"Ch":117},{"Timestamp":7219,"Mod":0,"Key":256,"Ch":110},{"Timestamp":7262,"Mod":0,"Key":256,"Ch":115},{"Timestamp":7319,"Mod":0,"Key":256,"Ch":116},{"Timestamp":7404,"Mod":0,"Key":256,"Ch":97},{"Timestamp":7492,"Mod":0,"Key":256,"Ch":103},{"Timestamp":7534,"Mod":0,"Key":256,"Ch":101},{"Timestamp":7679,"Mod":0,"Key":256,"Ch":100},{"Timestamp":7965,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9053,"Mod":0,"Key":256,"Ch":53},{"Timestamp":10348,"Mod":0,"Key":256,"Ch":32},{"Timestamp":10979,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12354,"Mod":0,"Key":256,"Ch":50},{"Timestamp":12874,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":239,"Height":56}]}