diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2022-01-09 14:04:49 +1100 |
---|---|---|
committer | Jesse Duffield <jessedduffield@gmail.com> | 2022-01-09 14:14:47 +1100 |
commit | e5096e71abfb078ff6c974ee5b7b746e3c9aafc6 (patch) | |
tree | 8c53c09d4281f91f634f2d9afdc4da6527162bce | |
parent | ceb927fec0fe97b6430dfc3f784e2b2d646d0d2f (diff) |
add integration test for discarding old files
37 files changed, 79 insertions, 0 deletions
diff --git a/pkg/gui/commits_panel.go b/pkg/gui/commits_panel.go index b933dc5c8..0f63e4157 100644 --- a/pkg/gui/commits_panel.go +++ b/pkg/gui/commits_panel.go @@ -231,6 +231,7 @@ func (gui *Gui) handleRewordCommit() error { return gui.surfaceError(err) } + // TODO: use the commit message panel here return gui.prompt(promptOpts{ title: gui.Tr.LcRewordCommit, initialContent: message, diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/COMMIT_EDITMSG b/test/integration/discardOldFileChanges/expected/.git_keep/COMMIT_EDITMSG new file mode 100644 index 000000000..7b27632fe --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/COMMIT_EDITMSG @@ -0,0 +1 @@ +twoFiles diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/FETCH_HEAD b/test/integration/discardOldFileChanges/expected/.git_keep/FETCH_HEAD new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/FETCH_HEAD diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/HEAD b/test/integration/discardOldFileChanges/expected/.git_keep/HEAD new file mode 100644 index 000000000..cb089cd89 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/HEAD @@ -0,0 +1 @@ +ref: refs/heads/master diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/ORIG_HEAD b/test/integration/discardOldFileChanges/expected/.git_keep/ORIG_HEAD new file mode 100644 index 000000000..db70e637d --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/ORIG_HEAD @@ -0,0 +1 @@ +7880a9728615a4d196df39600a0c8c71b40d96d6 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/config b/test/integration/discardOldFileChanges/expected/.git_keep/config new file mode 100644 index 000000000..8ae104545 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/config @@ -0,0 +1,10 @@ +[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/discardOldFileChanges/expected/.git_keep/description b/test/integration/discardOldFileChanges/expected/.git_keep/description new file mode 100644 index 000000000..498b267a8 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/description @@ -0,0 +1 @@ +Unnamed repository; edit this file 'description' to name the repository. diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/index b/test/integration/discardOldFileChanges/expected/.git_keep/index Binary files differnew file mode 100644 index 000000000..258123f26 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/index diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/info/exclude b/test/integration/discardOldFileChanges/expected/.git_keep/info/exclude new file mode 100644 index 000000000..8e9f2071f --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/info/exclude @@ -0,0 +1,7 @@ +# 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/discardOldFileChanges/expected/.git_keep/logs/HEAD b/test/integration/discardOldFileChanges/expected/.git_keep/logs/HEAD new file mode 100644 index 000000000..cd7bc3c77 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/logs/HEAD @@ -0,0 +1,9 @@ +0000000000000000000000000000000000000000 b7a702b642978f2a9b1af9c1c67b22127af78c92 CI <CI@example.com> 1641697108 +1100 commit (initial): file0 +b7a702b642978f2a9b1af9c1c67b22127af78c92 7880a9728615a4d196df39600a0c8c71b40d96d6 CI <CI@example.com> 1641697108 +1100 commit: twoFiles +7880a9728615a4d196df39600a0c8c71b40d96d6 af6725ba23f43a286deff0747476d7874113df1e CI <CI@example.com> 1641697108 +1100 commit: file2 +af6725ba23f43a286deff0747476d7874113df1e af6725ba23f43a286deff0747476d7874113df1e CI <CI@example.com> 1641697111 +1100 rebase: updating HEAD +af6725ba23f43a286deff0747476d7874113df1e b7a702b642978f2a9b1af9c1c67b22127af78c92 CI <CI@example.com> 1641697111 +1100 rebase -i (start): checkout b7a702b642978f2a9b1af9c1c67b22127af78c92 +b7a702b642978f2a9b1af9c1c67b22127af78c92 7880a9728615a4d196df39600a0c8c71b40d96d6 CI <CI@example.com> 1641697111 +1100 rebase -i: fast-forward +7880a9728615a4d196df39600a0c8c71b40d96d6 d14505f281a54cda96fc5fb8cd4b4ee14bae6264 CI <CI@example.com> 1641697111 +1100 commit (amend): twoFiles +d14505f281a54cda96fc5fb8cd4b4ee14bae6264 225ad83faa797c1831a2bc956a21e2d472f21443 CI <CI@example.com> 1641697111 +1100 rebase -i (pick): file2 +225ad83faa797c1831a2bc956a21e2d472f21443 225ad83faa797c1831a2bc956a21e2d472f21443 CI <CI@example.com> 1641697111 +1100 rebase -i (finish): returning to refs/heads/master diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/logs/refs/heads/master b/test/integration/discardOldFileChanges/expected/.git_keep/logs/refs/heads/master new file mode 100644 index 000000000..13413542d --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/logs/refs/heads/master @@ -0,0 +1,4 @@ +0000000000000000000000000000000000000000 b7a702b642978f2a9b1af9c1c67b22127af78c92 CI <CI@example.com> 1641697108 +1100 commit (initial): file0 +b7a702b642978f2a9b1af9c1c67b22127af78c92 7880a9728615a4d196df39600a0c8c71b40d96d6 CI <CI@example.com> 1641697108 +1100 commit: twoFiles +7880a9728615a4d196df39600a0c8c71b40d96d6 af6725ba23f43a286deff0747476d7874113df1e CI <CI@example.com> 1641697108 +1100 commit: file2 +af6725ba23f43a286deff0747476d7874113df1e 225ad83faa797c1831a2bc956a21e2d472f21443 CI <CI@example.com> 1641697111 +1100 rebase -i (finish): refs/heads/master onto b7a702b642978f2a9b1af9c1c67b22127af78c92 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/00/cbccfd35a05ef9373bba9d5633cf6e67f83dd5 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/00/cbccfd35a05ef9373bba9d5633cf6e67f83dd5 Binary files differnew file mode 100644 index 000000000..fd478c4af --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/00/cbccfd35a05ef9373bba9d5633cf6e67f83dd5 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/0a/91dcf3772f7fd7409b3df04eb6ef177219303a b/test/integration/discardOldFileChanges/expected/.git_keep/objects/0a/91dcf3772f7fd7409b3df04eb6ef177219303a new file mode 100644 index 000000000..2794a5840 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/0a/91dcf3772f7fd7409b3df04eb6ef177219303a @@ -0,0 +1 @@ +xj1DSW]iO+\VD>s'C>?j҇n
Wzd9Vc\3{Z3VeSD.>~-C >Eրi&*'&Ġ
폇%aZԨ*G)L"qvwl?V0̈^/w͙r~K
\ No newline at end of file diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/0c/db6daba7e25b6d6d10da326e0ab74401021370 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/0c/db6daba7e25b6d6d10da326e0ab74401021370 new file mode 100644 index 000000000..798edd72c --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/0c/db6daba7e25b6d6d10da326e0ab74401021370 @@ -0,0 +1,2 @@ +xA +0E]$DDzi2iK㛍{yZ\ .%xJ<A2 6G.KΎL?x$gMy](?0pƇ\\ZpFZEUSWu /1Z@
\ No newline at end of file diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 Binary files differnew file mode 100644 index 000000000..f74bf2335 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/e987d34afb121659724591cd709e2a789184fc b/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/e987d34afb121659724591cd709e2a789184fc Binary files differnew file mode 100644 index 000000000..b09179f5f --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/e987d34afb121659724591cd709e2a789184fc diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 Binary files differnew file mode 100644 index 000000000..79fcadf67 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/22/5ad83faa797c1831a2bc956a21e2d472f21443 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/22/5ad83faa797c1831a2bc956a21e2d472f21443 Binary files differnew file mode 100644 index 000000000..f0e96277f --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/22/5ad83faa797c1831a2bc956a21e2d472f21443 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/discardOldFileChanges/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da Binary files differnew file mode 100644 index 000000000..06c9cb73d --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/42/786aead9ca20a3427c38e5e5262fa787ce9868 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/42/786aead9ca20a3427c38e5e5262fa787ce9868 Binary files differnew file mode 100644 index 000000000..2f0336f2f --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/42/786aead9ca20a3427c38e5e5262fa787ce9868 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/78/80a9728615a4d196df39600a0c8c71b40d96d6 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/78/80a9728615a4d196df39600a0c8c71b40d96d6 Binary files differnew file mode 100644 index 000000000..ff9e69171 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/78/80a9728615a4d196df39600a0c8c71b40d96d6 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/7b/8a8396be4352039598acb43acaadc1c380551f b/test/integration/discardOldFileChanges/expected/.git_keep/objects/7b/8a8396be4352039598acb43acaadc1c380551f Binary files differnew file mode 100644 index 000000000..23756a369 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/7b/8a8396be4352039598acb43acaadc1c380551f diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c b/test/integration/discardOldFileChanges/expected/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c Binary files differnew file mode 100644 index 000000000..0e95eb06d --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 Binary files differnew file mode 100644 index 000000000..285df3e5f --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/af/6725ba23f43a286deff0747476d7874113df1e b/test/integration/discardOldFileChanges/expected/.git_keep/objects/af/6725ba23f43a286deff0747476d7874113df1e new file mode 100644 index 000000000..44a1872c3 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/af/6725ba23f43a286deff0747476d7874113df1e @@ -0,0 +1,3 @@ +xA + @Ѯ=BqT(U1#
&=~snekmp釪,R^kr̩xrN*)])|#p +C$<LTK Qid_aާ_n7"H) D{E0S]M]V9n
\ No newline at end of file diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/b7/a702b642978f2a9b1af9c1c67b22127af78c92 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/b7/a702b642978f2a9b1af9c1c67b22127af78c92 new file mode 100644 index 000000000..8bcfe2c70 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/b7/a702b642978f2a9b1af9c1c67b22127af78c92 @@ -0,0 +1,2 @@ +xA +0Fa9c#i`R"x|{tS\b6C*VToPS.}ki>NO|S{[{`Qx;1`7+
\ No newline at end of file diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 new file mode 100644 index 000000000..2e9066287 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e2306494641 @@ -0,0 +1,2 @@ +x+)JMU03c040031QHI5`ֶww.hT[H +yW5Ɨ(|^-W(x9
\ No newline at end of file diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/d1/4505f281a54cda96fc5fb8cd4b4ee14bae6264 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/d1/4505f281a54cda96fc5fb8cd4b4ee14bae6264 Binary files differnew file mode 100644 index 000000000..76e9da484 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/d1/4505f281a54cda96fc5fb8cd4b4ee14bae6264 diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b b/test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b Binary files differnew file mode 100644 index 000000000..9b771fc2f --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/refs/heads/master b/test/integration/discardOldFileChanges/expected/.git_keep/refs/heads/master new file mode 100644 index 000000000..2ebac56f2 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/.git_keep/refs/heads/master @@ -0,0 +1 @@ +225ad83faa797c1831a2bc956a21e2d472f21443 diff --git a/test/integration/discardOldFileChanges/expected/file0 b/test/integration/discardOldFileChanges/expected/file0 new file mode 100644 index 000000000..38143ad4a --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/file0 @@ -0,0 +1 @@ +test0 diff --git a/test/integration/discardOldFileChanges/expected/file1 b/test/integration/discardOldFileChanges/expected/file1 new file mode 100644 index 000000000..a5bce3fd2 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/file1 @@ -0,0 +1 @@ +test1 diff --git a/test/integration/discardOldFileChanges/expected/file2 b/test/integration/discardOldFileChanges/expected/file2 new file mode 100644 index 000000000..180cf8328 --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/file2 @@ -0,0 +1 @@ +test2 diff --git a/test/integration/discardOldFileChanges/expected/file3 b/test/integration/discardOldFileChanges/expected/file3 new file mode 100644 index 000000000..df6b0d2bc --- /dev/null +++ b/test/integration/discardOldFileChanges/expected/file3 @@ -0,0 +1 @@ +test3 diff --git a/test/integration/discardOldFileChanges/recording.json b/test/integration/discardOldFileChanges/recording.json new file mode 100644 index 000000000..0b9a99ec5 --- /dev/null +++ b/test/integration/discardOldFileChanges/recording.json @@ -0,0 +1 @@ +{"KeyEvents":[{"Timestamp":635,"Mod":0,"Key":259,"Ch":0},{"Timestamp":899,"Mod":0,"Key":259,"Ch":0},{"Timestamp":1227,"Mod":0,"Key":258,"Ch":0},{"Timestamp":1571,"Mod":0,"Key":13,"Ch":13},{"Timestamp":1971,"Mod":0,"Key":258,"Ch":0},{"Timestamp":2322,"Mod":0,"Key":256,"Ch":100},{"Timestamp":2731,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3707,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
\ No newline at end of file diff --git a/test/integration/discardOldFileChanges/setup.sh b/test/integration/discardOldFileChanges/setup.sh new file mode 100644 index 000000000..22426c2aa --- /dev/null +++ b/test/integration/discardOldFileChanges/setup.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +cd $1 + +git init + +git config user.email "CI@example.com" +git config user.name "CI" + +echo test0 > file0 +git add . +git commit -am file0 + +echo test1 > file1 +echo testZ > fileZ +git add . +git commit -am twoFiles + +echo test2 > file2 +git add . +git commit -am file2 + +echo test3 > file3 +git add . diff --git a/test/integration/discardOldFileChanges/test.json b/test/integration/discardOldFileChanges/test.json new file mode 100644 index 000000000..04a59a63c --- /dev/null +++ b/test/integration/discardOldFileChanges/test.json @@ -0,0 +1,4 @@ +{ + "description": "Discarding a single file from an old commit (does rebase in background to remove the file but retain the other one)", + "speed": 5 +} |