1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-21 21:47:32 +02:00

Merge pull request from mark2185/feature/stash-unstaged

This commit is contained in:
Jesse Duffield 2022-05-06 20:17:33 +10:00 committed by GitHub
commit 0940e0182b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
254 changed files with 362 additions and 98 deletions
docs/keybindings
pkg
test/integration
stash
stashAllChanges
stashAllChangesKeepIndex/expected/repo/.git_keep

@ -125,7 +125,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct
<kbd>o</kbd>: open file <kbd>o</kbd>: open file
<kbd>i</kbd>: add to .gitignore <kbd>i</kbd>: add to .gitignore
<kbd>r</kbd>: refresh files <kbd>r</kbd>: refresh files
<kbd>s</kbd>: stash changes <kbd>s</kbd>: stash all changes
<kbd>S</kbd>: view stash options <kbd>S</kbd>: view stash options
<kbd>a</kbd>: stage/unstage all <kbd>a</kbd>: stage/unstage all
<kbd>enter</kbd>: stage individual hunks/lines for file, or collapse/expand for directory <kbd>enter</kbd>: stage individual hunks/lines for file, or collapse/expand for directory

@ -38,7 +38,6 @@ func (self *StashCommands) Apply(index int) error {
} }
// Save save stash // Save save stash
// TODO: before calling this, check if there is anything to save
func (self *StashCommands) Save(message string) error { func (self *StashCommands) Save(message string) error {
return self.cmd.New("git stash save " + self.cmd.Quote(message)).Run() return self.cmd.New("git stash save " + self.cmd.Quote(message)).Run()
} }
@ -49,6 +48,23 @@ func (self *StashCommands) ShowStashEntryCmdObj(index int) oscommands.ICmdObj {
return self.cmd.New(cmdStr).DontLog() 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()
}
func (self *StashCommands) StashUnstagedChanges(message string) error {
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 {
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 // 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 // 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 { func (self *StashCommands) SaveStagedChanges(message string) error {

@ -559,23 +559,46 @@ func (self *FilesController) createStashMenu() error {
{ {
DisplayString: self.c.Tr.LcStashAllChanges, DisplayString: self.c.Tr.LcStashAllChanges,
OnPress: func() error { 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: 's', Key: 'a',
},
{
DisplayString: self.c.Tr.LcStashAllChangesKeepIndex,
OnPress: func() error {
// 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, DisplayString: self.c.Tr.LcStashStagedChanges,
OnPress: func() error { OnPress: func() error {
return self.handleStashSave(self.git.Stash.SaveStagedChanges, self.c.Tr.Actions.StashStagedChanges) // 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', Key: 's',
},
{
DisplayString: self.c.Tr.LcStashUnstagedChanges,
OnPress: func() error {
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',
}, },
}, },
}) })
} }
func (self *FilesController) stash() 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 { func (self *FilesController) createResetToUpstreamMenu() error {
@ -603,9 +626,9 @@ func (self *FilesController) toggleTreeView() error {
return self.c.PostRefreshUpdate(self.context()) return self.c.PostRefreshUpdate(self.context())
} }
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() { if !self.helpers.WorkingTree.IsWorkingTreeDirty() {
return self.c.ErrorMsg(self.c.Tr.NoTrackedStagedFilesStash) return self.c.ErrorMsg(errorMsg)
} }
return self.c.Prompt(types.PromptOpts{ return self.c.Prompt(types.PromptOpts{

@ -282,7 +282,7 @@ func chineseTranslationSet() TranslationSet {
PressEnterToReturn: "按下 Enter 键返回 lazygit", PressEnterToReturn: "按下 Enter 键返回 lazygit",
LcViewStashOptions: "查看贮藏选项", LcViewStashOptions: "查看贮藏选项",
LcStashAllChanges: "将所有更改加入贮藏", LcStashAllChanges: "将所有更改加入贮藏",
LcStashStagedChanges: "将已暂存的更改加入贮藏", LcStashAllChangesKeepIndex: "将已暂存的更改加入贮藏",
LcStashOptions: "贮藏选项", LcStashOptions: "贮藏选项",
NotARepository: "错误:必须在 git 仓库中运行", NotARepository: "错误:必须在 git 仓库中运行",
LcJump: "跳到面板", LcJump: "跳到面板",

@ -245,7 +245,7 @@ func dutchTranslationSet() TranslationSet {
PressEnterToReturn: "Press om terug te gaan naar lazygit", PressEnterToReturn: "Press om terug te gaan naar lazygit",
LcViewStashOptions: "bekijk stash opties", LcViewStashOptions: "bekijk stash opties",
LcStashAllChanges: "stash-bestanden", LcStashAllChanges: "stash-bestanden",
LcStashStagedChanges: "stash staged wijzigingen", LcStashAllChangesKeepIndex: "stash staged wijzigingen",
LcStashOptions: "Stash opties", LcStashOptions: "Stash opties",
NotARepository: "Fout: moet in een git repository uitgevoerd worden", NotARepository: "Fout: moet in een git repository uitgevoerd worden",
LcJump: "ga naar paneel", LcJump: "ga naar paneel",

@ -119,6 +119,7 @@ type TranslationSet struct {
StashApply string StashApply string
SureApplyStashEntry string SureApplyStashEntry string
NoTrackedStagedFilesStash string NoTrackedStagedFilesStash string
NoFilesToStash string
StashChanges string StashChanges string
OpenConfig string OpenConfig string
EditConfig string EditConfig string
@ -276,6 +277,8 @@ type TranslationSet struct {
LcViewStashOptions string LcViewStashOptions string
LcStashAllChanges string LcStashAllChanges string
LcStashStagedChanges string LcStashStagedChanges string
LcStashAllChangesKeepIndex string
LcStashUnstagedChanges string
LcStashOptions string LcStashOptions string
NotARepository string NotARepository string
LcJump string LcJump string
@ -550,7 +553,9 @@ type Actions struct {
Pull string Pull string
OpenFile string OpenFile string
StashAllChanges string StashAllChanges string
StashAllChangesKeepIndex string
StashStagedChanges string StashStagedChanges string
StashUnstagedChanges string
GitFlowFinish string GitFlowFinish string
GitFlowStart string GitFlowStart string
CopyToClipboard string CopyToClipboard string
@ -724,6 +729,7 @@ func EnglishTranslationSet() TranslationSet {
StashApply: "Stash apply", StashApply: "Stash apply",
SureApplyStashEntry: "Are you sure you want to apply this stash entry?", SureApplyStashEntry: "Are you sure you want to apply this stash entry?",
NoTrackedStagedFilesStash: "You have no tracked/staged files to stash", NoTrackedStagedFilesStash: "You have no tracked/staged files to stash",
NoFilesToStash: "You have no files to stash",
StashChanges: "Stash changes", StashChanges: "Stash changes",
OpenConfig: "open config file", OpenConfig: "open config file",
EditConfig: "edit config file", EditConfig: "edit config file",
@ -880,8 +886,10 @@ func EnglishTranslationSet() TranslationSet {
LcResetTo: `reset to`, LcResetTo: `reset to`,
PressEnterToReturn: "Press enter to return to lazygit", PressEnterToReturn: "Press enter to return to lazygit",
LcViewStashOptions: "view stash options", LcViewStashOptions: "view stash options",
LcStashAllChanges: "stash changes", LcStashAllChanges: "stash all changes",
LcStashStagedChanges: "stash staged changes", LcStashStagedChanges: "stash staged changes",
LcStashAllChangesKeepIndex: "stash all changes and keep index",
LcStashUnstagedChanges: "stash unstaged changes",
LcStashOptions: "Stash options", LcStashOptions: "Stash options",
NotARepository: "Error: must be run inside a git repository", NotARepository: "Error: must be run inside a git repository",
LcJump: "jump to panel", LcJump: "jump to panel",
@ -1139,7 +1147,9 @@ func EnglishTranslationSet() TranslationSet {
Pull: "Pull", Pull: "Pull",
OpenFile: "Open file", OpenFile: "Open file",
StashAllChanges: "Stash all changes", StashAllChanges: "Stash all changes",
StashAllChangesKeepIndex: "Stash all changes and keep index",
StashStagedChanges: "Stash staged changes", StashStagedChanges: "Stash staged changes",
StashUnstagedChanges: "Stash unstaged changes",
GitFlowFinish: "Git flow finish", GitFlowFinish: "Git flow finish",
GitFlowStart: "Git Flow start", GitFlowStart: "Git Flow start",
CopyToClipboard: "Copy to clipboard", CopyToClipboard: "Copy to clipboard",

@ -207,7 +207,7 @@ func polishTranslationSet() TranslationSet {
PressEnterToReturn: "Wciśnij enter żeby wrócić do lazygit", PressEnterToReturn: "Wciśnij enter żeby wrócić do lazygit",
LcViewStashOptions: "wyświetl opcje schowka", LcViewStashOptions: "wyświetl opcje schowka",
LcStashAllChanges: "przechowaj zmiany", LcStashAllChanges: "przechowaj zmiany",
LcStashStagedChanges: "przechowaj zmiany z poczekalni", LcStashAllChangesKeepIndex: "przechowaj zmiany z poczekalni",
LcStashOptions: "Opcje schowka", LcStashOptions: "Opcje schowka",
NotARepository: "Błąd: nie jesteś w repozytorium", NotARepository: "Błąd: nie jesteś w repozytorium",
LcJump: "przeskocz do panelu", LcJump: "przeskocz do panelu",

@ -1 +1 @@
f348ff60bdbb3695f2f519db6bc115b1b8d50886 6b1f87e5b74cd77d755d213e0850f4de02b3cdce

@ -3,8 +3,6 @@
filemode = true filemode = true
bare = false bare = false
logallrefupdates = true logallrefupdates = true
ignorecase = true
precomposeunicode = true
[user] [user]
email = CI@example.com email = CI@example.com
name = CI name = CI

@ -4,4 +4,3 @@
# exclude patterns (uncomment them if you want to use them): # exclude patterns (uncomment them if you want to use them):
# *.[oa] # *.[oa]
# *~ # *~
.DS_Store

@ -1,6 +1,5 @@
0000000000000000000000000000000000000000 a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b CI <CI@example.com> 1643011553 +1100 commit (initial): file0 0000000000000000000000000000000000000000 8c3123f6f4cee663b57398072df088c6f2dfeb9b CI <CI@example.com> 1650002552 +0200 commit (initial): file0
a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b 4cc838ea1466afc5be1d3bc3e7a937641ec84d7d CI <CI@example.com> 1643011553 +1100 commit: file1 8c3123f6f4cee663b57398072df088c6f2dfeb9b f7114350b59290905115d7918efe144eb2c62a76 CI <CI@example.com> 1650002552 +0200 commit: file1
4cc838ea1466afc5be1d3bc3e7a937641ec84d7d f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011553 +1100 commit: file2 f7114350b59290905115d7918efe144eb2c62a76 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002552 +0200 commit: file2
f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011556 +1100 reset: moving to HEAD 6b1f87e5b74cd77d755d213e0850f4de02b3cdce 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002559 +0200 reset: moving to HEAD
f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011556 +1100 reset: moving to HEAD 6b1f87e5b74cd77d755d213e0850f4de02b3cdce 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002567 +0200 reset: moving to HEAD
f348ff60bdbb3695f2f519db6bc115b1b8d50886 f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011558 +1100 reset: moving to HEAD

@ -1,3 +1,3 @@
0000000000000000000000000000000000000000 a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b CI <CI@example.com> 1643011553 +1100 commit (initial): file0 0000000000000000000000000000000000000000 8c3123f6f4cee663b57398072df088c6f2dfeb9b CI <CI@example.com> 1650002552 +0200 commit (initial): file0
a7dde526f2e93ffa08897fbfca2c98ce40a8fa5b 4cc838ea1466afc5be1d3bc3e7a937641ec84d7d CI <CI@example.com> 1643011553 +1100 commit: file1 8c3123f6f4cee663b57398072df088c6f2dfeb9b f7114350b59290905115d7918efe144eb2c62a76 CI <CI@example.com> 1650002552 +0200 commit: file1
4cc838ea1466afc5be1d3bc3e7a937641ec84d7d f348ff60bdbb3695f2f519db6bc115b1b8d50886 CI <CI@example.com> 1643011553 +1100 commit: file2 f7114350b59290905115d7918efe144eb2c62a76 6b1f87e5b74cd77d755d213e0850f4de02b3cdce CI <CI@example.com> 1650002552 +0200 commit: file2

@ -1,2 +1 @@
0000000000000000000000000000000000000000 e09b4dfcd66bfa1c81feeaf67e04d55368a2b065 CI <CI@example.com> 1643011556 +1100 On master: asd 0000000000000000000000000000000000000000 be485112173592dea7b39c7efc3a6f52f43b71b9 CI <CI@example.com> 1650002559 +0200 On master: asd
e09b4dfcd66bfa1c81feeaf67e04d55368a2b065 2efac8148440778cbddcd80ac7477981277dcffe CI <CI@example.com> 1643011558 +1100 On master: asd

@ -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¿

@ -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ò

@ -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

@ -0,0 +1,3 @@
x�ÍA
Â0Fa×9Å왌“Ô€ˆÐU�‘4°Ð)züön¼¹Õºt²ª—¾dq‡R!'ë³ø‘Š–”‹hPýÓ6'zŽÓ{¬ß·¹ÕYï˜Yœº²0›³ž“Ž?¹)Ë
6Ö’+Ð

@ -1 +1 @@
f348ff60bdbb3695f2f519db6bc115b1b8d50886 6b1f87e5b74cd77d755d213e0850f4de02b3cdce

@ -1 +1 @@
2efac8148440778cbddcd80ac7477981277dcffe be485112173592dea7b39c7efc3a6f52f43b71b9

@ -1 +1 @@
test2 hello there

@ -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}]} {"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}]}

@ -0,0 +1 @@
cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c

@ -3,8 +3,6 @@
filemode = true filemode = true
bare = false bare = false
logallrefupdates = true logallrefupdates = true
ignorecase = true
precomposeunicode = true
[user] [user]
email = CI@example.com email = CI@example.com
name = CI name = CI

@ -4,4 +4,3 @@
# exclude patterns (uncomment them if you want to use them): # exclude patterns (uncomment them if you want to use them):
# *.[oa] # *.[oa]
# *~ # *~
.DS_Store

@ -0,0 +1,6 @@
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

@ -0,0 +1,3 @@
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

@ -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

@ -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¥

@ -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

@ -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Ä

@ -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÷

@ -0,0 +1 @@
cb66567aecbd1ceb7caebf1c3a3d16db28f4a54c

@ -0,0 +1 @@
5a70ee314842fb5f46b452d16bc4d95e7154d4b4

@ -0,0 +1 @@
hello there

@ -0,0 +1 @@
hello there

@ -0,0 +1 @@
hello there

@ -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":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}]}

@ -0,0 +1 @@
{ "description": "Stashing all files", "speed": 5 }

@ -0,0 +1 @@
ref: refs/heads/master

@ -0,0 +1 @@
056328ba39d0418acd7270389b9d5f253b98aabf

@ -0,0 +1,8 @@
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[user]
email = CI@example.com
name = CI

@ -0,0 +1 @@
Unnamed repository; edit this file 'description' to name the repository.

@ -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]
# *~

@ -0,0 +1,4 @@
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

@ -0,0 +1,3 @@
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

@ -0,0 +1 @@
0000000000000000000000000000000000000000 c87c87eb867338ed9956f6b28c8c3a83a1802c16 CI <CI@example.com> 1651830915 +0200 On master: keep index

@ -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°

@ -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+

Some files were not shown because too many files have changed in this diff Show More