diff --git a/pkg/integration/components/prompt_driver.go b/pkg/integration/components/prompt_driver.go index 83037a90d..45a6db513 100644 --- a/pkg/integration/components/prompt_driver.go +++ b/pkg/integration/components/prompt_driver.go @@ -32,7 +32,10 @@ func (self *PromptDriver) Type(value string) *PromptDriver { } func (self *PromptDriver) Clear() *PromptDriver { - panic("Clear method not yet implemented!") + // TODO: soft-code this + self.t.press("") + + return self } func (self *PromptDriver) Confirm() { diff --git a/pkg/integration/components/viewDriver.go b/pkg/integration/components/viewDriver.go index 238e04f55..04c58fc81 100644 --- a/pkg/integration/components/viewDriver.go +++ b/pkg/integration/components/viewDriver.go @@ -5,6 +5,7 @@ import ( "strings" "github.com/jesseduffield/gocui" + "github.com/samber/lo" ) type ViewDriver struct { @@ -104,32 +105,56 @@ func (self *ViewDriver) SelectedLineIdx(expected int) *ViewDriver { return self } -// focus the view (assumes the view is a side-view that can be focused via a keybinding) +// focus the view (assumes the view is a side-view) func (self *ViewDriver) Focus() *ViewDriver { - // we can easily change focus by switching to the view's window, but this assumes that the desired view - // is at the top of that window. So for now we'll switch to the window then assert that the desired - // view is on top (i.e. that it's the current view). - // If we want to support other views e.g. the tags view, we'll need to add more logic here. viewName := self.getView().Name() - // using a map rather than a slice because we might add other views which share a window index later - windowIndexMap := map[string]int{ - "status": 0, - "files": 1, - "localBranches": 2, - "commits": 3, - "stash": 4, + type window struct { + name string + viewNames []string + } + windows := []window{ + {name: "status", viewNames: []string{"status"}}, + {name: "files", viewNames: []string{"files", "submodules"}}, + {name: "branches", viewNames: []string{"localBranches", "remotes", "tags"}}, + {name: "commits", viewNames: []string{"commits", "reflogCommits"}}, + {name: "stash", viewNames: []string{"stash"}}, } - index, ok := windowIndexMap[viewName] - if !ok { - self.t.fail(fmt.Sprintf("Cannot focus view %s: Focus() method not implemented", viewName)) + for windowIndex, window := range windows { + if lo.Contains(window.viewNames, viewName) { + tabIndex := lo.IndexOf(window.viewNames, viewName) + // jump to the desired window + self.t.press(self.t.keys.Universal.JumpToBlock[windowIndex]) + + // assert we're in the window before continuing + self.t.assertWithRetries(func() (bool, string) { + currentWindowName := self.t.gui.CurrentContext().GetWindowName() + // by convention the window is named after the first view in the window + return currentWindowName == window.name, fmt.Sprintf("Expected to be in window '%s', but was in '%s'", window.name, currentWindowName) + }) + + // switch to the desired tab + currentViewName := self.t.gui.CurrentContext().GetViewName() + currentViewTabIndex := lo.IndexOf(window.viewNames, currentViewName) + if tabIndex > currentViewTabIndex { + for i := 0; i < tabIndex-currentViewTabIndex; i++ { + self.t.press(self.t.keys.Universal.NextTab) + } + } else if tabIndex < currentViewTabIndex { + for i := 0; i < currentViewTabIndex-tabIndex; i++ { + self.t.press(self.t.keys.Universal.PrevTab) + } + } + + // assert that we're now in the expected view + self.IsFocused() + + return self + } } - self.t.press(self.t.keys.Universal.JumpToBlock[index]) - - // assert that we land in the expected view - self.IsFocused() + self.t.fail(fmt.Sprintf("Cannot focus view %s: Focus() method not implemented", viewName)) return self } diff --git a/pkg/integration/tests/submodule/add.go b/pkg/integration/tests/submodule/add.go new file mode 100644 index 000000000..e04141499 --- /dev/null +++ b/pkg/integration/tests/submodule/add.go @@ -0,0 +1,65 @@ +package submodule + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var Add = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Add a submodule", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(config *config.AppConfig) {}, + SetupRepo: func(shell *Shell) { + shell.EmptyCommit("first commit") + shell.RunCommand("git clone --bare . ../other_repo") + }, + Run: func(t *TestDriver, keys config.KeybindingConfig) { + t.Views().Submodules().Focus(). + Press(keys.Universal.New). + Tap(func() { + t.ExpectPopup().Prompt(). + Title(Equals("new submodule URL:")). + Type("../other_repo").Confirm() + + t.ExpectPopup().Prompt(). + Title(Equals("new submodule name:")). + InitialText(Equals("other_repo")). + Clear().Type("my_submodule").Confirm() + + t.ExpectPopup().Prompt(). + Title(Equals("new submodule path:")). + InitialText(Equals("my_submodule")). + Clear().Type("my_submodule_path").Confirm() + }). + Lines( + Contains("my_submodule").IsSelected(), + ) + + t.Views().Main().TopLines( + Contains("Name: my_submodule"), + Contains("Path: my_submodule_path"), + Contains("Url: ../other_repo"), + ) + + t.Views().Files().Focus(). + Lines( + Contains(".gitmodules").IsSelected(), + Contains("my_submodule_path (submodule)"), + ). + Tap(func() { + t.Views().Main().Content( + Contains("[submodule \"my_submodule\"]"). + Contains("path = my_submodule_path"). + Contains("url = ../other_repo"), + ) + }). + SelectNextItem(). + Tap(func() { + t.Views().Main().Content( + Contains("Submodule my_submodule_path"). + Contains("(new submodule)"), + ) + }) + }, +}) diff --git a/pkg/integration/tests/tests.go b/pkg/integration/tests/tests.go index af3ef4050..d04bb7869 100644 --- a/pkg/integration/tests/tests.go +++ b/pkg/integration/tests/tests.go @@ -23,6 +23,7 @@ import ( "github.com/jesseduffield/lazygit/pkg/integration/tests/misc" "github.com/jesseduffield/lazygit/pkg/integration/tests/patch_building" "github.com/jesseduffield/lazygit/pkg/integration/tests/stash" + "github.com/jesseduffield/lazygit/pkg/integration/tests/submodule" "github.com/jesseduffield/lazygit/pkg/integration/tests/sync" ) @@ -75,6 +76,7 @@ var tests = []*components.IntegrationTest{ filter_by_path.SelectFile, filter_by_path.TypeFile, patch_building.BuildPatchAndCopyToClipboard, + submodule.Add, } func GetTests() []*components.IntegrationTest { diff --git a/test/integration/submoduleAdd/expected/other_repo/HEAD b/test/integration/submoduleAdd/expected/other_repo/HEAD deleted file mode 100644 index cb089cd89..000000000 --- a/test/integration/submoduleAdd/expected/other_repo/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/test/integration/submoduleAdd/expected/other_repo/config b/test/integration/submoduleAdd/expected/other_repo/config deleted file mode 100644 index e5abd1a6d..000000000 --- a/test/integration/submoduleAdd/expected/other_repo/config +++ /dev/null @@ -1,8 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = true - ignorecase = true - precomposeunicode = true -[remote "origin"] - url = /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/submoduleAdd/actual/./repo diff --git a/test/integration/submoduleAdd/expected/other_repo/description b/test/integration/submoduleAdd/expected/other_repo/description deleted file mode 100644 index 498b267a8..000000000 --- a/test/integration/submoduleAdd/expected/other_repo/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/test/integration/submoduleAdd/expected/other_repo/info/exclude b/test/integration/submoduleAdd/expected/other_repo/info/exclude deleted file mode 100644 index 8e9f2071f..000000000 --- a/test/integration/submoduleAdd/expected/other_repo/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/submoduleAdd/expected/other_repo/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 b/test/integration/submoduleAdd/expected/other_repo/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 deleted file mode 100644 index 7f2ebf4ee..000000000 Binary files a/test/integration/submoduleAdd/expected/other_repo/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/other_repo/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/submoduleAdd/expected/other_repo/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 deleted file mode 100644 index f74bf2335..000000000 Binary files a/test/integration/submoduleAdd/expected/other_repo/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/other_repo/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e b/test/integration/submoduleAdd/expected/other_repo/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e deleted file mode 100644 index 64d20cb1e..000000000 Binary files a/test/integration/submoduleAdd/expected/other_repo/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/other_repo/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 b/test/integration/submoduleAdd/expected/other_repo/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 deleted file mode 100644 index 5dd5f3236..000000000 --- a/test/integration/submoduleAdd/expected/other_repo/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 +++ /dev/null @@ -1,2 +0,0 @@ -xM -0@sJ&N  I޾/ZHR%d"r@X<-4dG5?fxN(_& 6]פ˟\ճ5, \ No newline at end of file diff --git a/test/integration/submoduleAdd/expected/other_repo/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/submoduleAdd/expected/other_repo/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 deleted file mode 100644 index 285df3e5f..000000000 Binary files a/test/integration/submoduleAdd/expected/other_repo/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/other_repo/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 b/test/integration/submoduleAdd/expected/other_repo/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 deleted file mode 100644 index 96d2e71a6..000000000 Binary files a/test/integration/submoduleAdd/expected/other_repo/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/other_repo/packed-refs b/test/integration/submoduleAdd/expected/other_repo/packed-refs deleted file mode 100644 index 62f6568b2..000000000 --- a/test/integration/submoduleAdd/expected/other_repo/packed-refs +++ /dev/null @@ -1,2 +0,0 @@ -# pack-refs with: peeled fully-peeled sorted -42530e986dbb65877ed8d61ca0c816e425e5c62e refs/heads/master diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration/submoduleAdd/expected/repo/.git_keep/COMMIT_EDITMSG deleted file mode 100644 index 9daeafb98..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/COMMIT_EDITMSG +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/FETCH_HEAD b/test/integration/submoduleAdd/expected/repo/.git_keep/FETCH_HEAD deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/HEAD b/test/integration/submoduleAdd/expected/repo/.git_keep/HEAD deleted file mode 100644 index cb089cd89..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/config b/test/integration/submoduleAdd/expected/repo/.git_keep/config deleted file mode 100644 index 22f6527ea..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/config +++ /dev/null @@ -1,13 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - ignorecase = true - precomposeunicode = true -[user] - email = CI@example.com - name = CI -[submodule "blah"] - url = /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/submoduleAdd/actual/other_repo - active = true diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/description b/test/integration/submoduleAdd/expected/repo/.git_keep/description deleted file mode 100644 index 498b267a8..000000000 --- a/test/integration/submoduleAdd/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/submoduleAdd/expected/repo/.git_keep/index b/test/integration/submoduleAdd/expected/repo/.git_keep/index deleted file mode 100644 index 4690b27b1..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/index and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/info/exclude b/test/integration/submoduleAdd/expected/repo/.git_keep/info/exclude deleted file mode 100644 index 8e9f2071f..000000000 --- a/test/integration/submoduleAdd/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/submoduleAdd/expected/repo/.git_keep/logs/HEAD b/test/integration/submoduleAdd/expected/repo/.git_keep/logs/HEAD deleted file mode 100644 index 58db0ace2..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/logs/HEAD +++ /dev/null @@ -1,3 +0,0 @@ -0000000000000000000000000000000000000000 a50a5125768001a3ea263ffb7cafbc421a508153 CI 1534792759 +0100 commit (initial): myfile1 -a50a5125768001a3ea263ffb7cafbc421a508153 42530e986dbb65877ed8d61ca0c816e425e5c62e CI 1534792759 +0100 commit: myfile2 -42530e986dbb65877ed8d61ca0c816e425e5c62e dc5bde4a09968b0819f34d193f6780df295d71cf CI 1648348101 +1100 commit: test diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/logs/refs/heads/master b/test/integration/submoduleAdd/expected/repo/.git_keep/logs/refs/heads/master deleted file mode 100644 index 58db0ace2..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/logs/refs/heads/master +++ /dev/null @@ -1,3 +0,0 @@ -0000000000000000000000000000000000000000 a50a5125768001a3ea263ffb7cafbc421a508153 CI 1534792759 +0100 commit (initial): myfile1 -a50a5125768001a3ea263ffb7cafbc421a508153 42530e986dbb65877ed8d61ca0c816e425e5c62e CI 1534792759 +0100 commit: myfile2 -42530e986dbb65877ed8d61ca0c816e425e5c62e dc5bde4a09968b0819f34d193f6780df295d71cf CI 1648348101 +1100 commit: test diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/HEAD b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/HEAD deleted file mode 100644 index cb089cd89..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/master diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/config b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/config deleted file mode 100644 index 39065f535..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/config +++ /dev/null @@ -1,14 +0,0 @@ -[core] - repositoryformatversion = 0 - filemode = true - bare = false - logallrefupdates = true - ignorecase = true - precomposeunicode = true - worktree = ../../../haha -[remote "origin"] - url = /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/submoduleAdd/actual/other_repo - fetch = +refs/heads/*:refs/remotes/origin/* -[branch "master"] - remote = origin - merge = refs/heads/master diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/description b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/description deleted file mode 100644 index 498b267a8..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/description +++ /dev/null @@ -1 +0,0 @@ -Unnamed repository; edit this file 'description' to name the repository. diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/index b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/index deleted file mode 100644 index 27523e56e..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/index and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/info/exclude b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/info/exclude deleted file mode 100644 index 8e9f2071f..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/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/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/HEAD b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/HEAD deleted file mode 100644 index 502ae05d9..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/HEAD +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 42530e986dbb65877ed8d61ca0c816e425e5c62e Jesse Duffield 1648348097 +1100 clone: from /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/submoduleAdd/actual/other_repo diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/refs/heads/master b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/refs/heads/master deleted file mode 100644 index 502ae05d9..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 42530e986dbb65877ed8d61ca0c816e425e5c62e Jesse Duffield 1648348097 +1100 clone: from /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/submoduleAdd/actual/other_repo diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/refs/remotes/origin/HEAD b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/refs/remotes/origin/HEAD deleted file mode 100644 index 502ae05d9..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/logs/refs/remotes/origin/HEAD +++ /dev/null @@ -1 +0,0 @@ -0000000000000000000000000000000000000000 42530e986dbb65877ed8d61ca0c816e425e5c62e Jesse Duffield 1648348097 +1100 clone: from /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/submoduleAdd/actual/other_repo diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 deleted file mode 100644 index 7f2ebf4ee..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 deleted file mode 100644 index f74bf2335..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e deleted file mode 100644 index 64d20cb1e..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 deleted file mode 100644 index 5dd5f3236..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 +++ /dev/null @@ -1,2 +0,0 @@ -xM -0@sJ&N  I޾/ZHR%d"r@X<-4dG5?fxN(_& 6]פ˟\ճ5, \ No newline at end of file diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 deleted file mode 100644 index 285df3e5f..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 deleted file mode 100644 index 96d2e71a6..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/packed-refs b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/packed-refs deleted file mode 100644 index 2991aad64..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/packed-refs +++ /dev/null @@ -1,2 +0,0 @@ -# pack-refs with: peeled fully-peeled sorted -42530e986dbb65877ed8d61ca0c816e425e5c62e refs/remotes/origin/master diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/refs/heads/master b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/refs/heads/master deleted file mode 100644 index a70ff80c0..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -42530e986dbb65877ed8d61ca0c816e425e5c62e diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/refs/remotes/origin/HEAD b/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/refs/remotes/origin/HEAD deleted file mode 100644 index 6efe28fff..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/modules/blah/refs/remotes/origin/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/remotes/origin/master diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 deleted file mode 100644 index 7f2ebf4ee..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/0e/6cf0a6b79e8d44e186d812a1f74b43d64fac52 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 deleted file mode 100644 index f74bf2335..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e deleted file mode 100644 index 64d20cb1e..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/42/530e986dbb65877ed8d61ca0c816e425e5c62e and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/5f/77fb3622a1035782a7dacc0cca12e674066b9e b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/5f/77fb3622a1035782a7dacc0cca12e674066b9e deleted file mode 100644 index bc8326e0b..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/5f/77fb3622a1035782a7dacc0cca12e674066b9e and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 deleted file mode 100644 index 5dd5f3236..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a5/0a5125768001a3ea263ffb7cafbc421a508153 +++ /dev/null @@ -1,2 +0,0 @@ -xM -0@sJ&N  I޾/ZHR%d"r@X<-4dG5?fxN(_& 6]פ˟\ճ5, \ No newline at end of file diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 deleted file mode 100644 index 285df3e5f..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 deleted file mode 100644 index 96d2e71a6..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/a7/341a59f0ddeef969e69fb6368266d22b0f2416 and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/b9/7660affc790464b00ad45c7186a882238d77fb b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/b9/7660affc790464b00ad45c7186a882238d77fb deleted file mode 100644 index c4d570c9d..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/b9/7660affc790464b00ad45c7186a882238d77fb and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/dc/5bde4a09968b0819f34d193f6780df295d71cf b/test/integration/submoduleAdd/expected/repo/.git_keep/objects/dc/5bde4a09968b0819f34d193f6780df295d71cf deleted file mode 100644 index dabb1ddd8..000000000 Binary files a/test/integration/submoduleAdd/expected/repo/.git_keep/objects/dc/5bde4a09968b0819f34d193f6780df295d71cf and /dev/null differ diff --git a/test/integration/submoduleAdd/expected/repo/.git_keep/refs/heads/master b/test/integration/submoduleAdd/expected/repo/.git_keep/refs/heads/master deleted file mode 100644 index d13f91cc3..000000000 --- a/test/integration/submoduleAdd/expected/repo/.git_keep/refs/heads/master +++ /dev/null @@ -1 +0,0 @@ -dc5bde4a09968b0819f34d193f6780df295d71cf diff --git a/test/integration/submoduleAdd/expected/repo/.gitmodules_keep b/test/integration/submoduleAdd/expected/repo/.gitmodules_keep deleted file mode 100644 index b97660aff..000000000 --- a/test/integration/submoduleAdd/expected/repo/.gitmodules_keep +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "blah"] - path = haha - url = ../other_repo diff --git a/test/integration/submoduleAdd/expected/repo/haha/.git_keep b/test/integration/submoduleAdd/expected/repo/haha/.git_keep deleted file mode 100644 index a12aca648..000000000 --- a/test/integration/submoduleAdd/expected/repo/haha/.git_keep +++ /dev/null @@ -1 +0,0 @@ -gitdir: ../.git/modules/blah diff --git a/test/integration/submoduleAdd/expected/repo/haha/myfile1 b/test/integration/submoduleAdd/expected/repo/haha/myfile1 deleted file mode 100644 index a5bce3fd2..000000000 --- a/test/integration/submoduleAdd/expected/repo/haha/myfile1 +++ /dev/null @@ -1 +0,0 @@ -test1 diff --git a/test/integration/submoduleAdd/expected/repo/haha/myfile2 b/test/integration/submoduleAdd/expected/repo/haha/myfile2 deleted file mode 100644 index 180cf8328..000000000 --- a/test/integration/submoduleAdd/expected/repo/haha/myfile2 +++ /dev/null @@ -1 +0,0 @@ -test2 diff --git a/test/integration/submoduleAdd/expected/repo/myfile1 b/test/integration/submoduleAdd/expected/repo/myfile1 deleted file mode 100644 index a5bce3fd2..000000000 --- a/test/integration/submoduleAdd/expected/repo/myfile1 +++ /dev/null @@ -1 +0,0 @@ -test1 diff --git a/test/integration/submoduleAdd/expected/repo/myfile2 b/test/integration/submoduleAdd/expected/repo/myfile2 deleted file mode 100644 index 180cf8328..000000000 --- a/test/integration/submoduleAdd/expected/repo/myfile2 +++ /dev/null @@ -1 +0,0 @@ -test2 diff --git a/test/integration/submoduleAdd/recording.json b/test/integration/submoduleAdd/recording.json deleted file mode 100644 index aba73bc1c..000000000 --- a/test/integration/submoduleAdd/recording.json +++ /dev/null @@ -1 +0,0 @@ -{"KeyEvents":[{"Timestamp":1858,"Mod":0,"Key":256,"Ch":93},{"Timestamp":4332,"Mod":0,"Key":256,"Ch":110},{"Timestamp":5067,"Mod":0,"Key":256,"Ch":46},{"Timestamp":5188,"Mod":0,"Key":256,"Ch":46},{"Timestamp":5323,"Mod":0,"Key":256,"Ch":47},{"Timestamp":5532,"Mod":0,"Key":256,"Ch":111},{"Timestamp":5652,"Mod":0,"Key":256,"Ch":116},{"Timestamp":5743,"Mod":0,"Key":256,"Ch":104},{"Timestamp":5862,"Mod":0,"Key":256,"Ch":101},{"Timestamp":5892,"Mod":0,"Key":256,"Ch":114},{"Timestamp":6102,"Mod":0,"Key":256,"Ch":95},{"Timestamp":6297,"Mod":0,"Key":256,"Ch":114},{"Timestamp":6312,"Mod":0,"Key":256,"Ch":101},{"Timestamp":6402,"Mod":0,"Key":256,"Ch":112},{"Timestamp":6432,"Mod":0,"Key":256,"Ch":111},{"Timestamp":6718,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7632,"Mod":0,"Key":127,"Ch":127},{"Timestamp":7966,"Mod":0,"Key":127,"Ch":127},{"Timestamp":7982,"Mod":0,"Key":127,"Ch":127},{"Timestamp":7998,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8015,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8031,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8049,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8065,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8081,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8097,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8113,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8129,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8146,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8162,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8178,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8195,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8212,"Mod":0,"Key":127,"Ch":127},{"Timestamp":8397,"Mod":0,"Key":256,"Ch":98},{"Timestamp":8578,"Mod":0,"Key":256,"Ch":108},{"Timestamp":8698,"Mod":0,"Key":256,"Ch":97},{"Timestamp":8787,"Mod":0,"Key":256,"Ch":104},{"Timestamp":9012,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9493,"Mod":0,"Key":127,"Ch":127},{"Timestamp":9717,"Mod":0,"Key":127,"Ch":127},{"Timestamp":9868,"Mod":0,"Key":127,"Ch":127},{"Timestamp":9973,"Mod":0,"Key":127,"Ch":127},{"Timestamp":10168,"Mod":0,"Key":256,"Ch":104},{"Timestamp":10228,"Mod":0,"Key":256,"Ch":97},{"Timestamp":10257,"Mod":0,"Key":256,"Ch":104},{"Timestamp":10393,"Mod":0,"Key":256,"Ch":97},{"Timestamp":10752,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12612,"Mod":0,"Key":256,"Ch":91},{"Timestamp":13543,"Mod":0,"Key":256,"Ch":99},{"Timestamp":13797,"Mod":0,"Key":256,"Ch":116},{"Timestamp":13857,"Mod":0,"Key":256,"Ch":101},{"Timestamp":14037,"Mod":0,"Key":256,"Ch":115},{"Timestamp":14081,"Mod":0,"Key":256,"Ch":116},{"Timestamp":14368,"Mod":0,"Key":13,"Ch":13},{"Timestamp":15312,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":36}]} \ No newline at end of file diff --git a/test/integration/submoduleAdd/setup.sh b/test/integration/submoduleAdd/setup.sh deleted file mode 100644 index 35a139f79..000000000 --- a/test/integration/submoduleAdd/setup.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -set -e - -cd $1 - -export GIT_COMMITTER_DATE="Mon 20 Aug 2018 20:19:19 BST" -export GIT_AUTHOR_DATE="Mon 20 Aug 2018 20:19:19 BST" - -git init - -git config user.email "CI@example.com" -git config user.name "CI" -# see https://vielmetti.typepad.com/logbook/2022/10/git-security-fixes-lead-to-fatal-transport-file-not-allowed-error-in-ci-systems-cve-2022-39253.html -# NOTE: I don't think this actually works if it's only applied to the repo. -# On CI we set the global setting, but given it's a security concern I don't want -# people to do that for their locals. -git config protocol.file.allow always - -echo test1 > myfile1 -git add . -git commit -am "myfile1" -echo test2 > myfile2 -git add . -git commit -am "myfile2" - -cd .. -git clone --bare ./repo other_repo -cd repo diff --git a/test/integration/submoduleAdd/test.json b/test/integration/submoduleAdd/test.json deleted file mode 100644 index d937c5747..000000000 --- a/test/integration/submoduleAdd/test.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "description": "Add submodule", - "speed": 5 -}