diff --git a/pkg/gui/gui_driver.go b/pkg/gui/gui_driver.go index 919ad5416..268d53f1d 100644 --- a/pkg/gui/gui_driver.go +++ b/pkg/gui/gui_driver.go @@ -1,6 +1,8 @@ package gui import ( + "fmt" + "strings" "time" "github.com/gdamore/tcell/v2" @@ -55,7 +57,7 @@ func (self *GuiDriver) Fail(message string) { self.gui.g.Close() // need to give the gui time to close time.Sleep(time.Millisecond * 100) - panic(message) + panic(fmt.Sprintf("%s\nLog:\n%s", message, strings.Join(self.gui.CmdLog, "\n"))) } // logs to the normal place that you log to i.e. viewable with `lazygit --logs` diff --git a/pkg/integration/components/shell.go b/pkg/integration/components/shell.go index 409a17bc6..d0f0345dc 100644 --- a/pkg/integration/components/shell.go +++ b/pkg/integration/components/shell.go @@ -35,6 +35,32 @@ func (s *Shell) RunCommand(cmdStr string) *Shell { return s } +func (s *Shell) RunShellCommand(cmdStr string) *Shell { + cmd := secureexec.Command("sh", "-c", cmdStr) + cmd.Env = os.Environ() + cmd.Dir = s.dir + + output, err := cmd.CombinedOutput() + if err != nil { + panic(fmt.Sprintf("error running shell command: %s\n%s", cmdStr, string(output))) + } + + return s +} + +func (s *Shell) RunShellCommandExpectError(cmdStr string) *Shell { + cmd := secureexec.Command("sh", "-c", cmdStr) + cmd.Env = os.Environ() + cmd.Dir = s.dir + + output, err := cmd.CombinedOutput() + if err == nil { + panic(fmt.Sprintf("Expected error running shell command: %s\n%s", cmdStr, string(output))) + } + + return s +} + func (s *Shell) CreateFile(path string, content string) *Shell { fullPath := filepath.Join(s.dir, path) err := os.WriteFile(fullPath, []byte(content), 0o644) diff --git a/pkg/integration/tests/file/discard_changes.go b/pkg/integration/tests/file/discard_changes.go new file mode 100644 index 000000000..ce2e2c65d --- /dev/null +++ b/pkg/integration/tests/file/discard_changes.go @@ -0,0 +1,123 @@ +package file + +import ( + "github.com/jesseduffield/lazygit/pkg/config" + . "github.com/jesseduffield/lazygit/pkg/integration/components" +) + +var DiscardChanges = NewIntegrationTest(NewIntegrationTestArgs{ + Description: "Discarding all possible permutations of changed files", + ExtraCmdArgs: "", + Skip: false, + SetupConfig: func(config *config.AppConfig) { + }, + SetupRepo: func(shell *Shell) { + // typically we would use more bespoke shell methods here, but I struggled to find a way to do that, + // and this is copied over from a legacy integration test which did everything in a big shell script + // so I'm just copying it across. + + // common stuff + shell.RunShellCommand(`echo test > both-deleted.txt`) + shell.RunShellCommand(`git checkout -b conflict && git add both-deleted.txt`) + shell.RunShellCommand(`echo bothmodded > both-modded.txt && git add both-modded.txt`) + shell.RunShellCommand(`echo haha > deleted-them.txt && git add deleted-them.txt`) + shell.RunShellCommand(`echo haha2 > deleted-us.txt && git add deleted-us.txt`) + shell.RunShellCommand(`echo mod > modded.txt & git add modded.txt`) + shell.RunShellCommand(`echo mod > modded-staged.txt & git add modded-staged.txt`) + shell.RunShellCommand(`echo del > deleted.txt && git add deleted.txt`) + shell.RunShellCommand(`echo del > deleted-staged.txt && git add deleted-staged.txt`) + shell.RunShellCommand(`echo change-delete > change-delete.txt && git add change-delete.txt`) + shell.RunShellCommand(`echo delete-change > delete-change.txt && git add delete-change.txt`) + shell.RunShellCommand(`echo double-modded > double-modded.txt && git add double-modded.txt`) + shell.RunShellCommand(`echo "renamed\nhaha" > renamed.txt && git add renamed.txt`) + shell.RunShellCommand(`git commit -m one`) + + // stuff on other branch + shell.RunShellCommand(`git branch conflict_second && git mv both-deleted.txt added-them-changed-us.txt`) + shell.RunShellCommand(`git commit -m "both-deleted.txt renamed in added-them-changed-us.txt"`) + shell.RunShellCommand(`echo blah > both-added.txt && git add both-added.txt`) + shell.RunShellCommand(`echo mod1 > both-modded.txt && git add both-modded.txt`) + shell.RunShellCommand(`rm deleted-them.txt && git add deleted-them.txt`) + shell.RunShellCommand(`echo modded > deleted-us.txt && git add deleted-us.txt`) + shell.RunShellCommand(`git commit -m "two"`) + + // stuff on our branch + shell.RunShellCommand(`git checkout conflict_second`) + shell.RunShellCommand(`git mv both-deleted.txt changed-them-added-us.txt`) + shell.RunShellCommand(`git commit -m "both-deleted.txt renamed in changed-them-added-us.txt"`) + shell.RunShellCommand(`echo mod2 > both-modded.txt && git add both-modded.txt`) + shell.RunShellCommand(`echo blah2 > both-added.txt && git add both-added.txt`) + shell.RunShellCommand(`echo modded > deleted-them.txt && git add deleted-them.txt`) + shell.RunShellCommand(`rm deleted-us.txt && git add deleted-us.txt`) + shell.RunShellCommand(`git commit -m "three"`) + shell.RunShellCommand(`git reset --hard conflict_second`) + shell.RunShellCommandExpectError(`git merge conflict`) + + shell.RunShellCommand(`echo "new" > new.txt`) + shell.RunShellCommand(`echo "new staged" > new-staged.txt && git add new-staged.txt`) + shell.RunShellCommand(`echo mod2 > modded.txt`) + shell.RunShellCommand(`echo mod2 > modded-staged.txt && git add modded-staged.txt`) + shell.RunShellCommand(`rm deleted.txt`) + shell.RunShellCommand(`rm deleted-staged.txt && git add deleted-staged.txt`) + shell.RunShellCommand(`echo change-delete2 > change-delete.txt && git add change-delete.txt`) + shell.RunShellCommand(`rm change-delete.txt`) + shell.RunShellCommand(`rm delete-change.txt && git add delete-change.txt`) + shell.RunShellCommand(`echo "changed" > delete-change.txt`) + shell.RunShellCommand(`echo "change1" > double-modded.txt && git add double-modded.txt`) + shell.RunShellCommand(`echo "change2" > double-modded.txt`) + shell.RunShellCommand(`echo before > added-changed.txt && git add added-changed.txt`) + shell.RunShellCommand(`echo after > added-changed.txt`) + shell.RunShellCommand(`rm renamed.txt && git add renamed.txt`) + shell.RunShellCommand(`echo "renamed\nhaha" > renamed2.txt && git add renamed2.txt`) + }, + + Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) { + assert.CommitCount(3) + + type statusFile struct { + status string + path string + } + + discardOneByOne := func(files []statusFile) { + for _, file := range files { + assert.MatchSelectedLine(Contains(file.status + " " + file.path)) + input.PressKeys(keys.Universal.Remove) + assert.InMenu() + assert.MatchCurrentViewContent(Contains("discard all changes")) + input.Confirm() + } + } + + discardOneByOne([]statusFile{ + {"UA", "added-them-changed-us.txt"}, + {"AA", "both-added.txt"}, + {"DD", "both-deleted.txt"}, + {"UU", "both-modded.txt"}, + {"AU", "changed-them-added-us.txt"}, + {"UD", "deleted-them.txt"}, + {"DU", "deleted-us.txt"}, + }) + + assert.InConfirm() + assert.MatchCurrentViewTitle(Contains("continue")) + assert.MatchCurrentViewContent(Contains("all merge conflicts resolved. Continue?")) + input.PressKeys(keys.Universal.Return) + + discardOneByOne([]statusFile{ + {"MD", "change-delete.txt"}, + {"D ", "delete-change.txt"}, + {"D ", "deleted-staged.txt"}, + {" D", "deleted.txt"}, + {"MM", "double-modded.txt"}, + {"M ", "modded-staged.txt"}, + {" M", "modded.txt"}, + {"R ", "renamed.txt → renamed2.txt"}, + {"AM", "added-changed.txt"}, + {"A ", "new-staged.txt"}, + {"??", "new.txt"}, + }) + + assert.WorkingTreeFileCount(0) + }, +}) diff --git a/pkg/integration/tests/tests.go b/pkg/integration/tests/tests.go index 53961363e..6f7476657 100644 --- a/pkg/integration/tests/tests.go +++ b/pkg/integration/tests/tests.go @@ -52,6 +52,7 @@ var tests = []*components.IntegrationTest{ custom_commands.MenuFromCommandsOutput, custom_commands.MultiplePrompts, file.DirWithUntrackedFile, + file.DiscardChanges, interactive_rebase.AmendMerge, interactive_rebase.One, stash.Rename, diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/COMMIT_EDITMSG b/test/integration/discardFileChanges/expected/repo/.git_keep/COMMIT_EDITMSG deleted file mode 100644 index 552587d35..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/COMMIT_EDITMSG +++ /dev/null @@ -1,23 +0,0 @@ -Merge branch 'conflict' into conflict_second - -# Conflicts: -# added-them-changed-us.txt -# both-added.txt -# both-deleted.txt -# both-modded.txt -# changed-them-added-us.txt -# deleted-them.txt -# deleted-us.txt -# -# It looks like you may be committing a merge. -# If this is not correct, please remove the file -# /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/discardFileChanges/actual/.git/MERGE_HEAD -# and try again. - - -# Please enter the commit message for your changes. Lines starting -# with '#' will be ignored, and an empty message aborts the commit. -# -# On branch conflict_second -# All conflicts fixed but you are still merging. -# diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/FETCH_HEAD b/test/integration/discardFileChanges/expected/repo/.git_keep/FETCH_HEAD deleted file mode 100644 index e69de29bb..000000000 diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/HEAD b/test/integration/discardFileChanges/expected/repo/.git_keep/HEAD deleted file mode 100644 index 52c2dc641..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/HEAD +++ /dev/null @@ -1 +0,0 @@ -ref: refs/heads/conflict_second diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/ORIG_HEAD b/test/integration/discardFileChanges/expected/repo/.git_keep/ORIG_HEAD deleted file mode 100644 index e45dbd932..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/ORIG_HEAD +++ /dev/null @@ -1 +0,0 @@ -11bdfc142c42c6ffaa904890ab61ec76262ec9ca diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/config b/test/integration/discardFileChanges/expected/repo/.git_keep/config deleted file mode 100644 index 8ae104545..000000000 --- a/test/integration/discardFileChanges/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/discardFileChanges/expected/repo/.git_keep/description b/test/integration/discardFileChanges/expected/repo/.git_keep/description deleted file mode 100644 index 498b267a8..000000000 --- a/test/integration/discardFileChanges/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/discardFileChanges/expected/repo/.git_keep/index b/test/integration/discardFileChanges/expected/repo/.git_keep/index deleted file mode 100644 index 3021c8c32..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/index and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/info/exclude b/test/integration/discardFileChanges/expected/repo/.git_keep/info/exclude deleted file mode 100644 index 8e9f2071f..000000000 --- a/test/integration/discardFileChanges/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/discardFileChanges/expected/repo/.git_keep/logs/HEAD b/test/integration/discardFileChanges/expected/repo/.git_keep/logs/HEAD deleted file mode 100644 index cb32732a9..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/logs/HEAD +++ /dev/null @@ -1,8 +0,0 @@ -0000000000000000000000000000000000000000 98e834e9cdae1191de7fafb2b6f334bddd0793e8 CI 1617671344 +1000 commit (initial): one -98e834e9cdae1191de7fafb2b6f334bddd0793e8 9976d7948def8b082e9d20135d6a04624d711752 CI 1617671344 +1000 commit: both-deleted.txt renamed in added-them-changed-us.txt -9976d7948def8b082e9d20135d6a04624d711752 8c82faa1358ce6cddba19d59b2924cbcc5ef1c8e CI 1617671344 +1000 commit: two -8c82faa1358ce6cddba19d59b2924cbcc5ef1c8e 98e834e9cdae1191de7fafb2b6f334bddd0793e8 CI 1617671344 +1000 checkout: moving from conflict to conflict_second -98e834e9cdae1191de7fafb2b6f334bddd0793e8 c91b3b139ea108475c19839fcda3a4e33db4ccc9 CI 1617671344 +1000 commit: both-deleted.txt renamed in changed-them-added-us.txt -c91b3b139ea108475c19839fcda3a4e33db4ccc9 11bdfc142c42c6ffaa904890ab61ec76262ec9ca CI 1617671344 +1000 commit: three -11bdfc142c42c6ffaa904890ab61ec76262ec9ca 11bdfc142c42c6ffaa904890ab61ec76262ec9ca CI 1617671344 +1000 reset: moving to conflict_second -11bdfc142c42c6ffaa904890ab61ec76262ec9ca 854f08fa802293e0679d07771547fe9fe5d159e8 CI 1617671365 +1000 commit (merge): Merge branch 'conflict' into conflict_second diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/logs/refs/heads/conflict b/test/integration/discardFileChanges/expected/repo/.git_keep/logs/refs/heads/conflict deleted file mode 100644 index ba5017ea9..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/logs/refs/heads/conflict +++ /dev/null @@ -1,3 +0,0 @@ -0000000000000000000000000000000000000000 98e834e9cdae1191de7fafb2b6f334bddd0793e8 CI 1617671344 +1000 commit (initial): one -98e834e9cdae1191de7fafb2b6f334bddd0793e8 9976d7948def8b082e9d20135d6a04624d711752 CI 1617671344 +1000 commit: both-deleted.txt renamed in added-them-changed-us.txt -9976d7948def8b082e9d20135d6a04624d711752 8c82faa1358ce6cddba19d59b2924cbcc5ef1c8e CI 1617671344 +1000 commit: two diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/logs/refs/heads/conflict_second b/test/integration/discardFileChanges/expected/repo/.git_keep/logs/refs/heads/conflict_second deleted file mode 100644 index d7cdb2c6e..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/logs/refs/heads/conflict_second +++ /dev/null @@ -1,4 +0,0 @@ -0000000000000000000000000000000000000000 98e834e9cdae1191de7fafb2b6f334bddd0793e8 CI 1617671344 +1000 branch: Created from conflict -98e834e9cdae1191de7fafb2b6f334bddd0793e8 c91b3b139ea108475c19839fcda3a4e33db4ccc9 CI 1617671344 +1000 commit: both-deleted.txt renamed in changed-them-added-us.txt -c91b3b139ea108475c19839fcda3a4e33db4ccc9 11bdfc142c42c6ffaa904890ab61ec76262ec9ca CI 1617671344 +1000 commit: three -11bdfc142c42c6ffaa904890ab61ec76262ec9ca 854f08fa802293e0679d07771547fe9fe5d159e8 CI 1617671365 +1000 commit (merge): Merge branch 'conflict' into conflict_second diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/11/bdfc142c42c6ffaa904890ab61ec76262ec9ca b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/11/bdfc142c42c6ffaa904890ab61ec76262ec9ca deleted file mode 100644 index 28cbe4c0d..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/11/bdfc142c42c6ffaa904890ab61ec76262ec9ca +++ /dev/null @@ -1,2 +0,0 @@ -xA -0@Q9Ed:icf2AR"x|{xh8̏5I\Yr̀Dؐj)4$w{wHrLe!J?~^u^嶽ky M 0F;㠻!z: \ No newline at end of file diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/15/fe7f43604da957ffb663b4db95b60d0af66469 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/15/fe7f43604da957ffb663b4db95b60d0af66469 deleted file mode 100644 index cd888e56c..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/15/fe7f43604da957ffb663b4db95b60d0af66469 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/1c/9488b0e1b8abd1ec8645b3345bdac91290b464 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/1c/9488b0e1b8abd1ec8645b3345bdac91290b464 deleted file mode 100644 index 43396deed..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/1c/9488b0e1b8abd1ec8645b3345bdac91290b464 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/26/80cfddbd9fa03c059ac60d2bec5e59a1c34281 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/26/80cfddbd9fa03c059ac60d2bec5e59a1c34281 deleted file mode 100644 index 0931fd1bd..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/26/80cfddbd9fa03c059ac60d2bec5e59a1c34281 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/2c/e75e2a24f7d6841a504cf3616ef5a59edb3a2d b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/2c/e75e2a24f7d6841a504cf3616ef5a59edb3a2d deleted file mode 100644 index 4b382c69a..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/2c/e75e2a24f7d6841a504cf3616ef5a59edb3a2d and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/30/07c9c07bf80aaa72b1f1f704e7fea622446678 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/30/07c9c07bf80aaa72b1f1f704e7fea622446678 deleted file mode 100644 index 6e1003c13..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/30/07c9c07bf80aaa72b1f1f704e7fea622446678 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/3f/7bd8f68987d4e16b8f6fa7f6b0738b42180d1f b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/3f/7bd8f68987d4e16b8f6fa7f6b0738b42180d1f deleted file mode 100644 index 01335af9c..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/3f/7bd8f68987d4e16b8f6fa7f6b0738b42180d1f and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/47/966dcaa8ee736e89279b895faf8707de898e04 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/47/966dcaa8ee736e89279b895faf8707de898e04 deleted file mode 100644 index 0c3f6db60..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/47/966dcaa8ee736e89279b895faf8707de898e04 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/48/f9387742d3cc3017c1a7e292c9187e35321753 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/48/f9387742d3cc3017c1a7e292c9187e35321753 deleted file mode 100644 index 96d96c7fe..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/48/f9387742d3cc3017c1a7e292c9187e35321753 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/4d/8452fc76beed0c7b15e40e45d06922bf746c5f b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/4d/8452fc76beed0c7b15e40e45d06922bf746c5f deleted file mode 100644 index 879dad0ba..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/4d/8452fc76beed0c7b15e40e45d06922bf746c5f and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/59/cf7b78af9aab84813bcb0bc8be27fdd9216b2b b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/59/cf7b78af9aab84813bcb0bc8be27fdd9216b2b deleted file mode 100644 index 8c946f2fb..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/59/cf7b78af9aab84813bcb0bc8be27fdd9216b2b and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/5a/d28e22767f979da2c198dc6c1003b25964e3da b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/5a/d28e22767f979da2c198dc6c1003b25964e3da deleted file mode 100644 index a49384ff6..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/5a/d28e22767f979da2c198dc6c1003b25964e3da and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/5b/e4a414b32cf4204f889469942986d3d783da84 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/5b/e4a414b32cf4204f889469942986d3d783da84 deleted file mode 100644 index 4cb486fbd..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/5b/e4a414b32cf4204f889469942986d3d783da84 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/7a/22af9d1908d85e3c4b6d916a9b6c733c55c990 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/7a/22af9d1908d85e3c4b6d916a9b6c733c55c990 deleted file mode 100644 index d248b43e8..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/7a/22af9d1908d85e3c4b6d916a9b6c733c55c990 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/85/4f08fa802293e0679d07771547fe9fe5d159e8 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/85/4f08fa802293e0679d07771547fe9fe5d159e8 deleted file mode 100644 index 58a92001e..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/85/4f08fa802293e0679d07771547fe9fe5d159e8 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/89/44a13fdfc597e4cf1d23797df51977680f8e77 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/89/44a13fdfc597e4cf1d23797df51977680f8e77 deleted file mode 100644 index 7bba19849..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/89/44a13fdfc597e4cf1d23797df51977680f8e77 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/8c/82faa1358ce6cddba19d59b2924cbcc5ef1c8e b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/8c/82faa1358ce6cddba19d59b2924cbcc5ef1c8e deleted file mode 100644 index 8f0db8b46..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/8c/82faa1358ce6cddba19d59b2924cbcc5ef1c8e and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/90/7b308167f0880fb2a5c0e1614bb0c7620f9dc3 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/90/7b308167f0880fb2a5c0e1614bb0c7620f9dc3 deleted file mode 100644 index 20cd3d000..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/90/7b308167f0880fb2a5c0e1614bb0c7620f9dc3 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/90/be1f3056c4f471f977a28497b8d4b392c55a02 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/90/be1f3056c4f471f977a28497b8d4b392c55a02 deleted file mode 100644 index b448be25d..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/90/be1f3056c4f471f977a28497b8d4b392c55a02 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/98/e834e9cdae1191de7fafb2b6f334bddd0793e8 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/98/e834e9cdae1191de7fafb2b6f334bddd0793e8 deleted file mode 100644 index a7d747f3f..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/98/e834e9cdae1191de7fafb2b6f334bddd0793e8 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/99/76d7948def8b082e9d20135d6a04624d711752 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/99/76d7948def8b082e9d20135d6a04624d711752 deleted file mode 100644 index c5f360872..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/99/76d7948def8b082e9d20135d6a04624d711752 +++ /dev/null @@ -1 +0,0 @@ -xAj0E)f_4*YJ!c uo{ū[7)7 s GK12Q1\UY2ؼEU] O[.W:__xIq[$bbsn81eg>͖QqAO2:֤C鶒BG[Ǻ}/~L \ No newline at end of file diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/9d/aeafb9864cf43055ae93beb0afd6c7d144bfa4 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/9d/aeafb9864cf43055ae93beb0afd6c7d144bfa4 deleted file mode 100644 index 4667dcf6f..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/9d/aeafb9864cf43055ae93beb0afd6c7d144bfa4 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/9f/5118ee216a6e44728305f90633b0c0e2ad235c b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/9f/5118ee216a6e44728305f90633b0c0e2ad235c deleted file mode 100644 index 6b863c7fc..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/9f/5118ee216a6e44728305f90633b0c0e2ad235c and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/a1/be04124078e38a592c153942bf75edf210f1ed b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/a1/be04124078e38a592c153942bf75edf210f1ed deleted file mode 100644 index 72043ce47..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/a1/be04124078e38a592c153942bf75edf210f1ed and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/a1/e09c2fda67b9f8d4440073c0c33f6e45689b7c b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/a1/e09c2fda67b9f8d4440073c0c33f6e45689b7c deleted file mode 100644 index 935ea9931..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/a1/e09c2fda67b9f8d4440073c0c33f6e45689b7c and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/ab/addc0b9edd523c69166a2c9f3a9e31a4c873e3 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/ab/addc0b9edd523c69166a2c9f3a9e31a4c873e3 deleted file mode 100644 index 7ce146a5a..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/ab/addc0b9edd523c69166a2c9f3a9e31a4c873e3 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/c9/1b3b139ea108475c19839fcda3a4e33db4ccc9 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/c9/1b3b139ea108475c19839fcda3a4e33db4ccc9 deleted file mode 100644 index 7744b72d7..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/c9/1b3b139ea108475c19839fcda3a4e33db4ccc9 +++ /dev/null @@ -1,2 +0,0 @@ -xK0)z?8gɂ0 dcH8@? {< -Mz} qdlpka4 GԩؤN=U(MGaL28f|afäKmN޹=8֭ &h~ZG Udw(on+%W ڐ|=?XK. \ No newline at end of file diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/ce/e08babc6b109f011f42eaba5f79e6e693c09e7 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/ce/e08babc6b109f011f42eaba5f79e6e693c09e7 deleted file mode 100644 index 2e84f7f16..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/ce/e08babc6b109f011f42eaba5f79e6e693c09e7 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/d4/d1b67951582a751c12ff7ea29ede7d37fd9ee8 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/d4/d1b67951582a751c12ff7ea29ede7d37fd9ee8 deleted file mode 100644 index 901facc5d..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/d4/d1b67951582a751c12ff7ea29ede7d37fd9ee8 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/d7/98b86744c3997c186e0f0dc666f02943c797a7 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/d7/98b86744c3997c186e0f0dc666f02943c797a7 deleted file mode 100644 index 7cb3efd4a..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/d7/98b86744c3997c186e0f0dc666f02943c797a7 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/e9/55de60e73263440d4651e79e947ec8b2902373 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/e9/55de60e73263440d4651e79e947ec8b2902373 deleted file mode 100644 index 56e224b23..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/e9/55de60e73263440d4651e79e947ec8b2902373 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/fa/938d99f6ee5cc562cd0f33fa64fd68d78ce2e9 b/test/integration/discardFileChanges/expected/repo/.git_keep/objects/fa/938d99f6ee5cc562cd0f33fa64fd68d78ce2e9 deleted file mode 100644 index 4fc7dee50..000000000 Binary files a/test/integration/discardFileChanges/expected/repo/.git_keep/objects/fa/938d99f6ee5cc562cd0f33fa64fd68d78ce2e9 and /dev/null differ diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/refs/heads/conflict b/test/integration/discardFileChanges/expected/repo/.git_keep/refs/heads/conflict deleted file mode 100644 index 5984d595a..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/refs/heads/conflict +++ /dev/null @@ -1 +0,0 @@ -8c82faa1358ce6cddba19d59b2924cbcc5ef1c8e diff --git a/test/integration/discardFileChanges/expected/repo/.git_keep/refs/heads/conflict_second b/test/integration/discardFileChanges/expected/repo/.git_keep/refs/heads/conflict_second deleted file mode 100644 index f7790393b..000000000 --- a/test/integration/discardFileChanges/expected/repo/.git_keep/refs/heads/conflict_second +++ /dev/null @@ -1 +0,0 @@ -854f08fa802293e0679d07771547fe9fe5d159e8 diff --git a/test/integration/discardFileChanges/expected/repo/both-added.txt b/test/integration/discardFileChanges/expected/repo/both-added.txt deleted file mode 100644 index 8944a13fd..000000000 --- a/test/integration/discardFileChanges/expected/repo/both-added.txt +++ /dev/null @@ -1 +0,0 @@ -blah2 diff --git a/test/integration/discardFileChanges/expected/repo/both-modded.txt b/test/integration/discardFileChanges/expected/repo/both-modded.txt deleted file mode 100644 index fa938d99f..000000000 --- a/test/integration/discardFileChanges/expected/repo/both-modded.txt +++ /dev/null @@ -1 +0,0 @@ -mod2 diff --git a/test/integration/discardFileChanges/expected/repo/change-delete.txt b/test/integration/discardFileChanges/expected/repo/change-delete.txt deleted file mode 100644 index 47966dcaa..000000000 --- a/test/integration/discardFileChanges/expected/repo/change-delete.txt +++ /dev/null @@ -1 +0,0 @@ -change-delete diff --git a/test/integration/discardFileChanges/expected/repo/changed-them-added-us.txt b/test/integration/discardFileChanges/expected/repo/changed-them-added-us.txt deleted file mode 100644 index 9daeafb98..000000000 --- a/test/integration/discardFileChanges/expected/repo/changed-them-added-us.txt +++ /dev/null @@ -1 +0,0 @@ -test diff --git a/test/integration/discardFileChanges/expected/repo/delete-change.txt b/test/integration/discardFileChanges/expected/repo/delete-change.txt deleted file mode 100644 index a1e09c2fd..000000000 --- a/test/integration/discardFileChanges/expected/repo/delete-change.txt +++ /dev/null @@ -1 +0,0 @@ -delete-change diff --git a/test/integration/discardFileChanges/expected/repo/deleted-staged.txt b/test/integration/discardFileChanges/expected/repo/deleted-staged.txt deleted file mode 100644 index abaddc0b9..000000000 --- a/test/integration/discardFileChanges/expected/repo/deleted-staged.txt +++ /dev/null @@ -1 +0,0 @@ -del diff --git a/test/integration/discardFileChanges/expected/repo/deleted-them.txt b/test/integration/discardFileChanges/expected/repo/deleted-them.txt deleted file mode 100644 index d798b8674..000000000 --- a/test/integration/discardFileChanges/expected/repo/deleted-them.txt +++ /dev/null @@ -1 +0,0 @@ -modded diff --git a/test/integration/discardFileChanges/expected/repo/deleted.txt b/test/integration/discardFileChanges/expected/repo/deleted.txt deleted file mode 100644 index abaddc0b9..000000000 --- a/test/integration/discardFileChanges/expected/repo/deleted.txt +++ /dev/null @@ -1 +0,0 @@ -del diff --git a/test/integration/discardFileChanges/expected/repo/double-modded.txt b/test/integration/discardFileChanges/expected/repo/double-modded.txt deleted file mode 100644 index 3f7bd8f68..000000000 --- a/test/integration/discardFileChanges/expected/repo/double-modded.txt +++ /dev/null @@ -1 +0,0 @@ -double-modded diff --git a/test/integration/discardFileChanges/expected/repo/modded-staged.txt b/test/integration/discardFileChanges/expected/repo/modded-staged.txt deleted file mode 100644 index 2680cfddb..000000000 --- a/test/integration/discardFileChanges/expected/repo/modded-staged.txt +++ /dev/null @@ -1 +0,0 @@ -mod diff --git a/test/integration/discardFileChanges/expected/repo/modded.txt b/test/integration/discardFileChanges/expected/repo/modded.txt deleted file mode 100644 index 2680cfddb..000000000 --- a/test/integration/discardFileChanges/expected/repo/modded.txt +++ /dev/null @@ -1 +0,0 @@ -mod diff --git a/test/integration/discardFileChanges/expected/repo/renamed.txt b/test/integration/discardFileChanges/expected/repo/renamed.txt deleted file mode 100644 index 7a22af9d1..000000000 --- a/test/integration/discardFileChanges/expected/repo/renamed.txt +++ /dev/null @@ -1 +0,0 @@ -renamed\nhaha diff --git a/test/integration/discardFileChanges/recording.json b/test/integration/discardFileChanges/recording.json deleted file mode 100644 index 4b64e16f0..000000000 --- a/test/integration/discardFileChanges/recording.json +++ /dev/null @@ -1 +0,0 @@ -{"KeyEvents":[{"Timestamp":966,"Mod":0,"Key":256,"Ch":100},{"Timestamp":1564,"Mod":0,"Key":13,"Ch":13},{"Timestamp":2093,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2621,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3173,"Mod":0,"Key":256,"Ch":100},{"Timestamp":3652,"Mod":0,"Key":13,"Ch":13},{"Timestamp":4165,"Mod":0,"Key":256,"Ch":100},{"Timestamp":4629,"Mod":0,"Key":13,"Ch":13},{"Timestamp":5190,"Mod":0,"Key":256,"Ch":100},{"Timestamp":5686,"Mod":0,"Key":13,"Ch":13},{"Timestamp":6198,"Mod":0,"Key":256,"Ch":100},{"Timestamp":6733,"Mod":0,"Key":13,"Ch":13},{"Timestamp":7254,"Mod":0,"Key":256,"Ch":100},{"Timestamp":7789,"Mod":0,"Key":13,"Ch":13},{"Timestamp":8285,"Mod":0,"Key":256,"Ch":100},{"Timestamp":8773,"Mod":0,"Key":13,"Ch":13},{"Timestamp":9237,"Mod":0,"Key":256,"Ch":100},{"Timestamp":9725,"Mod":0,"Key":13,"Ch":13},{"Timestamp":10181,"Mod":0,"Key":256,"Ch":100},{"Timestamp":10653,"Mod":0,"Key":13,"Ch":13},{"Timestamp":11125,"Mod":0,"Key":256,"Ch":100},{"Timestamp":11621,"Mod":0,"Key":13,"Ch":13},{"Timestamp":12093,"Mod":0,"Key":256,"Ch":100},{"Timestamp":12565,"Mod":0,"Key":13,"Ch":13},{"Timestamp":13037,"Mod":0,"Key":256,"Ch":100},{"Timestamp":13509,"Mod":0,"Key":13,"Ch":13},{"Timestamp":13965,"Mod":0,"Key":256,"Ch":100},{"Timestamp":14461,"Mod":0,"Key":13,"Ch":13},{"Timestamp":14909,"Mod":0,"Key":256,"Ch":100},{"Timestamp":15382,"Mod":0,"Key":13,"Ch":13},{"Timestamp":15853,"Mod":0,"Key":256,"Ch":100},{"Timestamp":16325,"Mod":0,"Key":13,"Ch":13},{"Timestamp":16765,"Mod":0,"Key":256,"Ch":100},{"Timestamp":17222,"Mod":0,"Key":13,"Ch":13},{"Timestamp":17637,"Mod":0,"Key":256,"Ch":100},{"Timestamp":18077,"Mod":0,"Key":13,"Ch":13},{"Timestamp":20190,"Mod":0,"Key":256,"Ch":109},{"Timestamp":20447,"Mod":0,"Key":13,"Ch":13},{"Timestamp":21414,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":127,"Height":23}]} \ No newline at end of file diff --git a/test/integration/discardFileChanges/setup.sh b/test/integration/discardFileChanges/setup.sh deleted file mode 100644 index ac9573e82..000000000 --- a/test/integration/discardFileChanges/setup.sh +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh - -# expecting an error so we're not setting this -# set -e - -cd $1 - -git init - -git config user.email "CI@example.com" -git config user.name "CI" - -# common stuff -echo test > both-deleted.txt -git checkout -b conflict && git add both-deleted.txt -echo bothmodded > both-modded.txt && git add both-modded.txt -echo haha > deleted-them.txt && git add deleted-them.txt -echo haha2 > deleted-us.txt && git add deleted-us.txt -echo mod > modded.txt & git add modded.txt -echo mod > modded-staged.txt & git add modded-staged.txt -echo del > deleted.txt && git add deleted.txt -echo del > deleted-staged.txt && git add deleted-staged.txt -echo change-delete > change-delete.txt && git add change-delete.txt -echo delete-change > delete-change.txt && git add delete-change.txt -echo double-modded > double-modded.txt && git add double-modded.txt -echo "renamed\nhaha" > renamed.txt && git add renamed.txt -git commit -m one - -# stuff on other branch -git branch conflict_second && git mv both-deleted.txt added-them-changed-us.txt -git commit -m "both-deleted.txt renamed in added-them-changed-us.txt" -echo blah > both-added.txt && git add both-added.txt -echo mod1 > both-modded.txt && git add both-modded.txt -rm deleted-them.txt && git add deleted-them.txt -echo modded > deleted-us.txt && git add deleted-us.txt -git commit -m "two" - -# stuff on our branch -git checkout conflict_second -git mv both-deleted.txt changed-them-added-us.txt -git commit -m "both-deleted.txt renamed in changed-them-added-us.txt" -echo mod2 > both-modded.txt && git add both-modded.txt -echo blah2 > both-added.txt && git add both-added.txt -echo modded > deleted-them.txt && git add deleted-them.txt -rm deleted-us.txt && git add deleted-us.txt -git commit -m "three" -git reset --hard conflict_second -git merge conflict - -echo "new" > new.txt -echo "new staged" > new-staged.txt && git add new-staged.txt -echo mod2 > modded.txt -echo mod2 > modded-staged.txt && git add modded-staged.txt -rm deleted.txt -rm deleted-staged.txt && git add deleted-staged.txt -echo change-delete2 > change-delete.txt && git add change-delete.txt -rm change-delete.txt -rm delete-change.txt && git add delete-change.txt -echo "changed" > delete-change.txt -echo "change1" > double-modded.txt && git add double-modded.txt -echo "change2" > double-modded.txt -echo before > added-changed.txt && git add added-changed.txt -echo after > added-changed.txt -rm renamed.txt && git add renamed.txt -echo "renamed\nhaha" > renamed2.txt && git add renamed2.txt diff --git a/test/integration/discardFileChanges/test.json b/test/integration/discardFileChanges/test.json deleted file mode 100644 index 8b82a5184..000000000 --- a/test/integration/discardFileChanges/test.json +++ /dev/null @@ -1 +0,0 @@ -{ "description": "discard file changes for various kinds of situations (merge conflicts, etc). Skipped because it's failing on CI for some reason", "speed": 5, "skip": true }