diff --git a/docs/Config.md b/docs/Config.md index 87ed70eed..d0d90ea31 100644 --- a/docs/Config.md +++ b/docs/Config.md @@ -223,6 +223,7 @@ keybinding: viewBisectOptions: 'b' stash: popStash: 'g' + renameStash: 'r' commitFiles: checkoutCommitFile: 'c' main: diff --git a/docs/keybindings/Keybindings_en.md b/docs/keybindings/Keybindings_en.md index af5787dab..df42f5a62 100644 --- a/docs/keybindings/Keybindings_en.md +++ b/docs/keybindings/Keybindings_en.md @@ -238,6 +238,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct g: pop d: drop n: new branch + r: rename stash enter: view selected item's files diff --git a/docs/keybindings/Keybindings_ja.md b/docs/keybindings/Keybindings_ja.md index d22f6d150..910b6938d 100644 --- a/docs/keybindings/Keybindings_ja.md +++ b/docs/keybindings/Keybindings_ja.md @@ -48,6 +48,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct g: pop d: drop n: 新しいブランチを作成 + r: Stashを変更 enter: view selected item's files diff --git a/docs/keybindings/Keybindings_ko.md b/docs/keybindings/Keybindings_ko.md index 690cd5790..2edef93ff 100644 --- a/docs/keybindings/Keybindings_ko.md +++ b/docs/keybindings/Keybindings_ko.md @@ -63,6 +63,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct g: pop d: drop n: 새 브랜치 생성 + r: rename stash enter: view selected item's files diff --git a/docs/keybindings/Keybindings_nl.md b/docs/keybindings/Keybindings_nl.md index 15484be73..06b96af5c 100644 --- a/docs/keybindings/Keybindings_nl.md +++ b/docs/keybindings/Keybindings_nl.md @@ -238,6 +238,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct g: pop d: laten vallen n: nieuwe branch + r: rename stash enter: bekijk gecommite bestanden diff --git a/docs/keybindings/Keybindings_pl.md b/docs/keybindings/Keybindings_pl.md index 9cfc64294..a1ca9cfd2 100644 --- a/docs/keybindings/Keybindings_pl.md +++ b/docs/keybindings/Keybindings_pl.md @@ -231,6 +231,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct g: wyciągnij d: porzuć n: nowa gałąź + r: rename stash enter: przeglądaj pliki commita diff --git a/docs/keybindings/Keybindings_zh.md b/docs/keybindings/Keybindings_zh.md index df1db2e55..98b180a52 100644 --- a/docs/keybindings/Keybindings_zh.md +++ b/docs/keybindings/Keybindings_zh.md @@ -264,6 +264,7 @@ _This file is auto-generated. To update, make the changes in the pkg/i18n direct g: 应用并删除 d: 删除 n: 新分支 + r: rename stash enter: 查看提交的文件 diff --git a/pkg/commands/git_commands/stash.go b/pkg/commands/git_commands/stash.go index c0d187a13..9c7321b50 100644 --- a/pkg/commands/git_commands/stash.go +++ b/pkg/commands/git_commands/stash.go @@ -2,6 +2,7 @@ package git_commands import ( "fmt" + "strings" "github.com/jesseduffield/lazygit/pkg/commands/loaders" "github.com/jesseduffield/lazygit/pkg/commands/oscommands" @@ -46,6 +47,19 @@ func (self *StashCommands) Save(message string) error { return self.cmd.New("git stash save " + self.cmd.Quote(message)).Run() } +func (self *StashCommands) Store(sha string, message string) error { + trimmedMessage := strings.Trim(message, " \t") + if len(trimmedMessage) > 0 { + return self.cmd.New(fmt.Sprintf("git stash store %s -m %s", self.cmd.Quote(sha), self.cmd.Quote(trimmedMessage))).Run() + } + return self.cmd.New(fmt.Sprintf("git stash store %s", self.cmd.Quote(sha))).Run() +} + +func (self *StashCommands) Sha(index int) (string, error) { + sha, _, err := self.cmd.New(fmt.Sprintf("git rev-parse refs/stash@{%d}", index)).DontLog().RunWithOutputs() + return strings.Trim(sha, "\r\n"), err +} + func (self *StashCommands) ShowStashEntryCmdObj(index int) oscommands.ICmdObj { cmdStr := fmt.Sprintf("git stash show -p --stat --color=%s --unified=%d stash@{%d}", self.UserConfig.Git.Paging.ColorArg, self.UserConfig.Git.DiffContextSize, index) @@ -109,3 +123,21 @@ func (self *StashCommands) SaveStagedChanges(message string) error { return nil } + +func (self *StashCommands) Rename(index int, message string) error { + sha, err := self.Sha(index) + if err != nil { + return err + } + + if err := self.Drop(index); err != nil { + return err + } + + err = self.Store(sha, message) + if err != nil { + return err + } + + return nil +} diff --git a/pkg/commands/git_commands/stash_test.go b/pkg/commands/git_commands/stash_test.go index b41f7815b..1a4e50822 100644 --- a/pkg/commands/git_commands/stash_test.go +++ b/pkg/commands/git_commands/stash_test.go @@ -10,7 +10,7 @@ import ( func TestStashDrop(t *testing.T) { runner := oscommands.NewFakeRunner(t). - ExpectGitArgs([]string{"stash", "drop", "stash@{1}"}, "", nil) + ExpectGitArgs([]string{"stash", "drop", "stash@{1}"}, "Dropped refs/stash@{1} (98e9cca532c37c766107093010c72e26f2c24c04)\n", nil) instance := buildStashCommands(commonDeps{runner: runner}) assert.NoError(t, instance.Drop(1)) @@ -44,6 +44,59 @@ func TestStashSave(t *testing.T) { runner.CheckForMissingCalls() } +func TestStashStore(t *testing.T) { + type scenario struct { + testName string + sha string + message string + expected []string + } + + scenarios := []scenario{ + { + testName: "Non-empty message", + sha: "0123456789abcdef", + message: "New stash name", + expected: []string{"stash", "store", "0123456789abcdef", "-m", "New stash name"}, + }, + { + testName: "Empty message", + sha: "0123456789abcdef", + message: "", + expected: []string{"stash", "store", "0123456789abcdef"}, + }, + { + testName: "Space message", + sha: "0123456789abcdef", + message: " ", + expected: []string{"stash", "store", "0123456789abcdef"}, + }, + } + + for _, s := range scenarios { + s := s + t.Run(s.testName, func(t *testing.T) { + runner := oscommands.NewFakeRunner(t). + ExpectGitArgs(s.expected, "", nil) + instance := buildStashCommands(commonDeps{runner: runner}) + + assert.NoError(t, instance.Store(s.sha, s.message)) + runner.CheckForMissingCalls() + }) + } +} + +func TestStashSha(t *testing.T) { + runner := oscommands.NewFakeRunner(t). + ExpectGitArgs([]string{"rev-parse", "refs/stash@{5}"}, "14d94495194651adfd5f070590df566c11d28243\n", nil) + instance := buildStashCommands(commonDeps{runner: runner}) + + sha, err := instance.Sha(5) + assert.NoError(t, err) + assert.Equal(t, "14d94495194651adfd5f070590df566c11d28243", sha) + runner.CheckForMissingCalls() +} + func TestStashStashEntryCmdObj(t *testing.T) { type scenario struct { testName string @@ -79,3 +132,50 @@ func TestStashStashEntryCmdObj(t *testing.T) { }) } } + +func TestStashRename(t *testing.T) { + type scenario struct { + testName string + index int + message string + expectedShaCmd []string + shaResult string + expectedDropCmd []string + expectedStoreCmd []string + } + + scenarios := []scenario{ + { + testName: "Default case", + index: 3, + message: "New message", + expectedShaCmd: []string{"rev-parse", "refs/stash@{3}"}, + shaResult: "f0d0f20f2f61ffd6d6bfe0752deffa38845a3edd\n", + expectedDropCmd: []string{"stash", "drop", "stash@{3}"}, + expectedStoreCmd: []string{"stash", "store", "f0d0f20f2f61ffd6d6bfe0752deffa38845a3edd", "-m", "New message"}, + }, + { + testName: "Empty message", + index: 4, + message: "", + expectedShaCmd: []string{"rev-parse", "refs/stash@{4}"}, + shaResult: "f0d0f20f2f61ffd6d6bfe0752deffa38845a3edd\n", + expectedDropCmd: []string{"stash", "drop", "stash@{4}"}, + expectedStoreCmd: []string{"stash", "store", "f0d0f20f2f61ffd6d6bfe0752deffa38845a3edd"}, + }, + } + + for _, s := range scenarios { + s := s + t.Run(s.testName, func(t *testing.T) { + runner := oscommands.NewFakeRunner(t). + ExpectGitArgs(s.expectedShaCmd, s.shaResult, nil). + ExpectGitArgs(s.expectedDropCmd, "", nil). + ExpectGitArgs(s.expectedStoreCmd, "", nil) + instance := buildStashCommands(commonDeps{runner: runner}) + + err := instance.Rename(s.index, s.message) + assert.NoError(t, err) + }) + } +} diff --git a/pkg/config/user_config.go b/pkg/config/user_config.go index f3ff1befb..a90b100d5 100644 --- a/pkg/config/user_config.go +++ b/pkg/config/user_config.go @@ -265,7 +265,8 @@ type KeybindingCommitsConfig struct { } type KeybindingStashConfig struct { - PopStash string `yaml:"popStash"` + PopStash string `yaml:"popStash"` + RenameStash string `yaml:"renameStash"` } type KeybindingCommitFilesConfig struct { @@ -547,7 +548,8 @@ func GetDefaultConfig() *UserConfig { ViewBisectOptions: "b", }, Stash: KeybindingStashConfig{ - PopStash: "g", + PopStash: "g", + RenameStash: "r", }, CommitFiles: KeybindingCommitFilesConfig{ CheckoutCommitFile: "c", diff --git a/pkg/gui/controllers/stash_controller.go b/pkg/gui/controllers/stash_controller.go index 6c8e7c349..68a121931 100644 --- a/pkg/gui/controllers/stash_controller.go +++ b/pkg/gui/controllers/stash_controller.go @@ -4,6 +4,7 @@ import ( "github.com/jesseduffield/lazygit/pkg/commands/models" "github.com/jesseduffield/lazygit/pkg/gui/context" "github.com/jesseduffield/lazygit/pkg/gui/types" + "github.com/jesseduffield/lazygit/pkg/utils" ) type StashController struct { @@ -44,6 +45,11 @@ func (self *StashController) GetKeybindings(opts types.KeybindingsOpts) []*types Handler: self.checkSelected(self.handleNewBranchOffStashEntry), Description: self.c.Tr.LcNewBranch, }, + { + Key: opts.GetKey(opts.Config.Stash.RenameStash), + Handler: self.checkSelected(self.handleRenameStashEntry), + Description: self.c.Tr.LcRenameStash, + }, } return bindings @@ -139,3 +145,27 @@ func (self *StashController) postStashRefresh() error { func (self *StashController) handleNewBranchOffStashEntry(stashEntry *models.StashEntry) error { return self.helpers.Refs.NewBranch(stashEntry.RefName(), stashEntry.Description(), "") } + +func (self *StashController) handleRenameStashEntry(stashEntry *models.StashEntry) error { + message := utils.ResolvePlaceholderString( + self.c.Tr.RenameStashPrompt, + map[string]string{ + "stashName": stashEntry.RefName(), + }, + ) + + return self.c.Prompt(types.PromptOpts{ + Title: message, + InitialContent: stashEntry.Name, + HandleConfirm: func(response string) error { + self.c.LogAction(self.c.Tr.Actions.RenameStash) + err := self.git.Stash.Rename(stashEntry.Index, response) + _ = self.c.Refresh(types.RefreshOptions{Scope: []types.RefreshableView{types.STASH}}) + if err != nil { + return err + } + self.context().SetSelectedLineIdx(0) // Select the renamed stash + return nil + }, + }) +} diff --git a/pkg/i18n/chinese.go b/pkg/i18n/chinese.go index fb594a1a9..67cf264ce 100644 --- a/pkg/i18n/chinese.go +++ b/pkg/i18n/chinese.go @@ -139,6 +139,8 @@ func chineseTranslationSet() TranslationSet { SureApplyStashEntry: "您确定要应用此贮藏条目?", NoTrackedStagedFilesStash: "没有可以贮藏的已跟踪/暂存文件", StashChanges: "贮藏更改", + LcRenameStash: "rename stash", + RenameStashPrompt: "Rename stash: {{.stashName}}", OpenConfig: "打开配置文件", EditConfig: "编辑配置文件", ForcePush: "强制推送", @@ -530,6 +532,7 @@ func chineseTranslationSet() TranslationSet { UpdateRemote: "更新远程", ApplyPatch: "应用补丁", Stash: "贮藏 (Stash)", + RenameStash: "Rename stash", RemoveSubmodule: "删除子模块", ResetSubmodule: "重置子模块", AddSubmodule: "添加子模块", diff --git a/pkg/i18n/dutch.go b/pkg/i18n/dutch.go index 536793fc6..4436d653c 100644 --- a/pkg/i18n/dutch.go +++ b/pkg/i18n/dutch.go @@ -105,6 +105,8 @@ func dutchTranslationSet() TranslationSet { SureApplyStashEntry: "Weet je zeker dat je deze stash entry wil toepassen?", NoTrackedStagedFilesStash: "Je hebt geen tracked/staged bestanden om te laten stashen", StashChanges: "Stash veranderingen", + LcRenameStash: "rename stash", + RenameStashPrompt: "Rename stash: {{.stashName}}", NoChangedFiles: "Geen veranderde bestanden", OpenConfig: "open config bestand", EditConfig: "verander config bestand", diff --git a/pkg/i18n/english.go b/pkg/i18n/english.go index 08f737a51..75e121545 100644 --- a/pkg/i18n/english.go +++ b/pkg/i18n/english.go @@ -128,6 +128,8 @@ type TranslationSet struct { NoTrackedStagedFilesStash string NoFilesToStash string StashChanges string + LcRenameStash string + RenameStashPrompt string OpenConfig string EditConfig string ForcePush string @@ -601,6 +603,7 @@ type Actions struct { UpdateRemote string ApplyPatch string Stash string + RenameStash string RemoveSubmodule string ResetSubmodule string AddSubmodule string @@ -769,6 +772,8 @@ func EnglishTranslationSet() TranslationSet { NoTrackedStagedFilesStash: "You have no tracked/staged files to stash", NoFilesToStash: "You have no files to stash", StashChanges: "Stash changes", + LcRenameStash: "rename stash", + RenameStashPrompt: "Rename stash: {{.stashName}}", OpenConfig: "open config file", EditConfig: "edit config file", ForcePush: "Force push", @@ -1226,6 +1231,7 @@ func EnglishTranslationSet() TranslationSet { UpdateRemote: "Update remote", ApplyPatch: "Apply patch", Stash: "Stash", + RenameStash: "Rename stash", RemoveSubmodule: "Remove submodule", ResetSubmodule: "Reset submodule", AddSubmodule: "Add submodule", diff --git a/pkg/i18n/japanese.go b/pkg/i18n/japanese.go index 03d949549..bfdf492f8 100644 --- a/pkg/i18n/japanese.go +++ b/pkg/i18n/japanese.go @@ -130,6 +130,8 @@ func japaneseTranslationSet() TranslationSet { SureApplyStashEntry: "Stashを適用します。よろしいですか?", // NoTrackedStagedFilesStash: "You have no tracked/staged files to stash", StashChanges: "変更をStash", + LcRenameStash: "Stashを変更", + RenameStashPrompt: "Stash名を変更: {{.stashName}}", OpenConfig: "設定ファイルを開く", EditConfig: "設定ファイルを編集", ForcePush: "Force push", @@ -556,6 +558,7 @@ func japaneseTranslationSet() TranslationSet { UpdateRemote: "リモートを更新", ApplyPatch: "パッチを適用", Stash: "Stash", + RenameStash: "Stash名を変更", RemoveSubmodule: "サブモジュールを削除", ResetSubmodule: "サブモジュールをリセット", AddSubmodule: "サブモジュールを追加", diff --git a/pkg/i18n/korean.go b/pkg/i18n/korean.go index afda25c6d..573f22bdc 100644 --- a/pkg/i18n/korean.go +++ b/pkg/i18n/korean.go @@ -131,6 +131,8 @@ func koreanTranslationSet() TranslationSet { SureApplyStashEntry: "정말로 Stash를 적용하시겠습니까?", NoTrackedStagedFilesStash: "You have no tracked/staged files to stash", StashChanges: "변경을 Stash", + LcRenameStash: "rename stash", + RenameStashPrompt: "Rename stash: {{.stashName}}", OpenConfig: "설정 파일 열기", EditConfig: "설정 파일 수정", ForcePush: "강제 푸시", @@ -561,6 +563,7 @@ func koreanTranslationSet() TranslationSet { UpdateRemote: "Update remote", ApplyPatch: "Apply patch", Stash: "Stash", + RenameStash: "Rename stash", RemoveSubmodule: "서브모듈 삭제", ResetSubmodule: "서브모듈 Reset", AddSubmodule: "서브모듈 추가", diff --git a/pkg/i18n/polish.go b/pkg/i18n/polish.go index e82ddc2de..8bcc460e1 100644 --- a/pkg/i18n/polish.go +++ b/pkg/i18n/polish.go @@ -83,6 +83,8 @@ func polishTranslationSet() TranslationSet { SureDropStashEntry: "Jesteś pewny, że chcesz porzucić tę pozycję w schowku?", NoTrackedStagedFilesStash: "Nie masz śledzonych/zatwierdzonych plików do przechowania", StashChanges: "Przechowaj zmiany", + LcRenameStash: "rename stash", + RenameStashPrompt: "Rename stash: {{.stashName}}", OpenConfig: "otwórz konfigurację", EditConfig: "edytuj konfigurację", ForcePush: "Wymuś wysłanie", diff --git a/pkg/integration/components/shell.go b/pkg/integration/components/shell.go index 5f7fef350..1d8182edb 100644 --- a/pkg/integration/components/shell.go +++ b/pkg/integration/components/shell.go @@ -111,3 +111,8 @@ func (s *Shell) CreateNCommits(n int) *Shell { return s } + +func (s *Shell) StashWithMessage(message string) *Shell { + s.RunCommand(fmt.Sprintf(`git stash -m "%s"`, message)) + return s +} diff --git a/pkg/integration/tests/stash/rename.go b/pkg/integration/tests/stash/rename.go new file mode 100644 index 000000000..761d7135b --- /dev/null +++ b/pkg/integration/tests/stash/rename.go @@ -0,0 +1,37 @@ +package stash + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var Rename = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Try to rename the stash.", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(config *config.AppConfig) {}, + SetupRepo: func(shell *Shell) { + shell. + EmptyCommit("blah"). + CreateFileAndAdd("file-1", "change to stash1"). + StashWithMessage("foo"). + CreateFileAndAdd("file-2", "change to stash2"). + StashWithMessage("bar") + }, + Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { + input.SwitchToStashWindow() + assert.CurrentViewName("stash") + + assert.MatchSelectedLine(Equals("On master: bar")) + input.NextItem() + assert.MatchSelectedLine(Equals("On master: foo")) + input.PressKeys(keys.Stash.RenameStash) + assert.InPrompt() + assert.MatchCurrentViewTitle(Equals("Rename stash: stash@{1}")) + + input.Type(" baz") + input.Confirm() + + assert.MatchSelectedLine(Equals("On master: foo baz")) + }, +}) diff --git a/pkg/integration/tests/tests.go b/pkg/integration/tests/tests.go index 21f06a376..6b4583e6d 100644 --- a/pkg/integration/tests/tests.go +++ b/pkg/integration/tests/tests.go @@ -16,6 +16,7 @@ import ( "github.com/jesseduffield/lazygit/pkg/integration/tests/commit" "github.com/jesseduffield/lazygit/pkg/integration/tests/custom_commands" "github.com/jesseduffield/lazygit/pkg/integration/tests/interactive_rebase" + "github.com/jesseduffield/lazygit/pkg/integration/tests/stash" ) // Here is where we lists the actual tests that will run. When you create a new test, @@ -38,6 +39,7 @@ var tests = []*components.IntegrationTest{ cherry_pick.CherryPick, cherry_pick.CherryPickConflicts, custom_commands.FormPrompts, + stash.Rename, } func GetTests() []*components.IntegrationTest { diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration_new/stash/rename/expected/repo/.git_keep/COMMIT_EDITMSG new file mode 100644 index 000000000..907b30816 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/COMMIT_EDITMSG @@ -0,0 +1 @@ +blah diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/FETCH_HEAD b/test/integration_new/stash/rename/expected/repo/.git_keep/FETCH_HEAD new file mode 100644 index 000000000..e69de29bb diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/HEAD b/test/integration_new/stash/rename/expected/repo/.git_keep/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/ORIG_HEAD b/test/integration_new/stash/rename/expected/repo/.git_keep/ORIG_HEAD new file mode 100644 index 000000000..6d340468f --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/ORIG_HEAD @@ -0,0 +1 @@ +209b9fa9264fa15f128127817f080fd7372050cf diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/commit-template.txt b/test/integration_new/stash/rename/expected/repo/.git_keep/commit-template.txt new file mode 100644 index 000000000..e69de29bb diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/config b/test/integration_new/stash/rename/expected/repo/.git_keep/config new file mode 100644 index 000000000..8a748ce32 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/config @@ -0,0 +1,12 @@ +[core] + repositoryformatversion = 0 + filemode = true + bare = false + logallrefupdates = true + ignorecase = true + precomposeunicode = true +[user] + email = CI@example.com + name = CI +[commit] + gpgSign = false diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/description b/test/integration_new/stash/rename/expected/repo/.git_keep/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/index b/test/integration_new/stash/rename/expected/repo/.git_keep/index new file mode 100644 index 000000000..65d675154 Binary files /dev/null and b/test/integration_new/stash/rename/expected/repo/.git_keep/index differ diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/info/exclude b/test/integration_new/stash/rename/expected/repo/.git_keep/info/exclude new file mode 100644 index 000000000..e69de29bb diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/logs/HEAD b/test/integration_new/stash/rename/expected/repo/.git_keep/logs/HEAD new file mode 100644 index 000000000..93b01e488 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/logs/HEAD @@ -0,0 +1,3 @@ +0000000000000000000000000000000000000000 209b9fa9264fa15f128127817f080fd7372050cf CI 1665905121 +0900 commit (initial): blah +209b9fa9264fa15f128127817f080fd7372050cf 209b9fa9264fa15f128127817f080fd7372050cf CI 1665905122 +0900 reset: moving to HEAD +209b9fa9264fa15f128127817f080fd7372050cf 209b9fa9264fa15f128127817f080fd7372050cf CI 1665905122 +0900 reset: moving to HEAD diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/logs/refs/heads/master b/test/integration_new/stash/rename/expected/repo/.git_keep/logs/refs/heads/master new file mode 100644 index 000000000..f1bfb4ca0 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/logs/refs/heads/master @@ -0,0 +1 @@ +0000000000000000000000000000000000000000 209b9fa9264fa15f128127817f080fd7372050cf CI 1665905121 +0900 commit (initial): blah diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/logs/refs/stash b/test/integration_new/stash/rename/expected/repo/.git_keep/logs/refs/stash new file mode 100644 index 000000000..5addb2d25 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/logs/refs/stash @@ -0,0 +1,2 @@ +0000000000000000000000000000000000000000 a5272a200897df5558c8cad683c1af14f7184124 CI 1665905122 +0900 On master: bar +a5272a200897df5558c8cad683c1af14f7184124 de8f5ed6f8a58664edfbdecd20b75a6ea0633bf6 CI 1665905125 +0900 On master: foo baz diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/20/9b9fa9264fa15f128127817f080fd7372050cf b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/20/9b9fa9264fa15f128127817f080fd7372050cf new file mode 100644 index 000000000..b0b57c478 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/20/9b9fa9264fa15f128127817f080fd7372050cf @@ -0,0 +1,3 @@ +x1 +0 @>B]YXPB Sa9 +)ĸz]?~i;xza)ĥ0l*-ia )jFoi4ۣ:gwDwkOtϛ;+ \ No newline at end of file diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/43/a4e12864cee1d7020a6d22772f0be34a24d257 b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/43/a4e12864cee1d7020a6d22772f0be34a24d257 new file mode 100644 index 000000000..12adb9b6f Binary files /dev/null and b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/43/a4e12864cee1d7020a6d22772f0be34a24d257 differ diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 new file mode 100644 index 000000000..adf64119a Binary files /dev/null and b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 differ diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/65/d11c8b2d3c173850f337661c9bf264d0406cf1 b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/65/d11c8b2d3c173850f337661c9bf264d0406cf1 new file mode 100644 index 000000000..ac5229d86 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/65/d11c8b2d3c173850f337661c9bf264d0406cf1 @@ -0,0 +1,4 @@ +x +0=).&MzcL[j>|R +LTRs)6EVVs@fg[u'6==ha0duZwF #lt kiY-hiϹX(ը +Mr@% \ No newline at end of file diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/71/2f414b554b56ba82d43e1f7a0fe33be7eecc95 b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/71/2f414b554b56ba82d43e1f7a0fe33be7eecc95 new file mode 100644 index 000000000..4b6819c3a Binary files /dev/null and b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/71/2f414b554b56ba82d43e1f7a0fe33be7eecc95 differ diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/86/8a798775e91d6387f351add6c5abf06cdb3357 b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/86/8a798775e91d6387f351add6c5abf06cdb3357 new file mode 100644 index 000000000..b1b016d21 Binary files /dev/null and b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/86/8a798775e91d6387f351add6c5abf06cdb3357 differ diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/a5/272a200897df5558c8cad683c1af14f7184124 b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/a5/272a200897df5558c8cad683c1af14f7184124 new file mode 100644 index 000000000..32ae211fe --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/a5/272a200897df5558c8cad683c1af14f7184124 @@ -0,0 +1,3 @@ +xj1]Sѯ1pU~i%g.g[.ҧfvG޿wC65S+{JIlbb[ 4ahFH)D +Dx*2.9x +(NsKqkGYA]41boħ3)y{OHW \ No newline at end of file diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/b2/3d362d3fa47c3b1f29c4dd41c419326415122c b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/b2/3d362d3fa47c3b1f29c4dd41c419326415122c new file mode 100644 index 000000000..eae6abec1 Binary files /dev/null and b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/b2/3d362d3fa47c3b1f29c4dd41c419326415122c differ diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/dc/052e9e4df6fe8f66b7e110466e1db8ce104b8b b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/dc/052e9e4df6fe8f66b7e110466e1db8ce104b8b new file mode 100644 index 000000000..e2e62f94a Binary files /dev/null and b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/dc/052e9e4df6fe8f66b7e110466e1db8ce104b8b differ diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/objects/de/8f5ed6f8a58664edfbdecd20b75a6ea0633bf6 b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/de/8f5ed6f8a58664edfbdecd20b75a6ea0633bf6 new file mode 100644 index 000000000..9514173fe --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/objects/de/8f5ed6f8a58664edfbdecd20b75a6ea0633bf6 @@ -0,0 +1 @@ +xϱj1fv%L+ÞKe.gG{Ûao2eᒙ(dF5j@!$^mŤ EcٳAk!AANDƀ `cù/kl|q˧I衎~r(HѽCXf:O"_7w1qH \ No newline at end of file diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/refs/heads/master b/test/integration_new/stash/rename/expected/repo/.git_keep/refs/heads/master new file mode 100644 index 000000000..6d340468f --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/refs/heads/master @@ -0,0 +1 @@ +209b9fa9264fa15f128127817f080fd7372050cf diff --git a/test/integration_new/stash/rename/expected/repo/.git_keep/refs/stash b/test/integration_new/stash/rename/expected/repo/.git_keep/refs/stash new file mode 100644 index 000000000..4d06169a5 --- /dev/null +++ b/test/integration_new/stash/rename/expected/repo/.git_keep/refs/stash @@ -0,0 +1 @@ +de8f5ed6f8a58664edfbdecd20b75a6ea0633bf6