summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2022-01-09 14:04:49 +1100
committerJesse Duffield <jessedduffield@gmail.com>2022-01-09 14:14:47 +1100
commite5096e71abfb078ff6c974ee5b7b746e3c9aafc6 (patch)
tree8c53c09d4281f91f634f2d9afdc4da6527162bce
parentceb927fec0fe97b6430dfc3f784e2b2d646d0d2f (diff)
add integration test for discarding old files
-rw-r--r--pkg/gui/commits_panel.go1
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/COMMIT_EDITMSG1
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/FETCH_HEAD0
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/HEAD1
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/ORIG_HEAD1
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/config10
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/description1
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/indexbin0 -> 334 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/info/exclude7
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/logs/HEAD9
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/logs/refs/heads/master4
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/00/cbccfd35a05ef9373bba9d5633cf6e67f83dd5bin0 -> 127 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/0a/91dcf3772f7fd7409b3df04eb6ef177219303a1
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/0c/db6daba7e25b6d6d10da326e0ab744010213702
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827bin0 -> 21 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/18/e987d34afb121659724591cd709e2a789184fcbin0 -> 152 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442bin0 -> 50 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/22/5ad83faa797c1831a2bc956a21e2d472f21443bin0 -> 151 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535dabin0 -> 21 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/42/786aead9ca20a3427c38e5e5262fa787ce9868bin0 -> 101 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/78/80a9728615a4d196df39600a0c8c71b40d96d6bin0 -> 150 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/7b/8a8396be4352039598acb43acaadc1c380551fbin0 -> 21 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2cbin0 -> 101 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5bin0 -> 21 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/af/6725ba23f43a286deff0747476d7874113df1e3
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/b7/a702b642978f2a9b1af9c1c67b22127af78c922
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/d0/76cc9cc09acaa2d36fbc7a95fd3e23064946412
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/d1/4505f281a54cda96fc5fb8cd4b4ee14bae6264bin0 -> 154 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41bbin0 -> 21 bytes
-rw-r--r--test/integration/discardOldFileChanges/expected/.git_keep/refs/heads/master1
-rw-r--r--test/integration/discardOldFileChanges/expected/file01
-rw-r--r--test/integration/discardOldFileChanges/expected/file11
-rw-r--r--test/integration/discardOldFileChanges/expected/file21
-rw-r--r--test/integration/discardOldFileChanges/expected/file31
-rw-r--r--test/integration/discardOldFileChanges/recording.json1
-rw-r--r--test/integration/discardOldFileChanges/setup.sh24
-rw-r--r--test/integration/discardOldFileChanges/test.json4
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
new file mode 100644
index 000000000..258123f26
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/index
Binary files differ
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
new file mode 100644
index 000000000..fd478c4af
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/00/cbccfd35a05ef9373bba9d5633cf6e67f83dd5
Binary files differ
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Ƈ\\Z΢ pFZEUSWu /1 Z@ \ 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
new file mode 100644
index 000000000..f74bf2335
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/0cf8328022becee9aaa2577a8f84ea2b9f3827
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/e987d34afb121659724591cd709e2a789184fc b/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/e987d34afb121659724591cd709e2a789184fc
new file mode 100644
index 000000000..b09179f5f
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/18/e987d34afb121659724591cd709e2a789184fc
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
new file mode 100644
index 000000000..79fcadf67
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/1e/3e67b999db1576ad1ee08bf4f02bdf29e49442
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/22/5ad83faa797c1831a2bc956a21e2d472f21443 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/22/5ad83faa797c1831a2bc956a21e2d472f21443
new file mode 100644
index 000000000..f0e96277f
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/22/5ad83faa797c1831a2bc956a21e2d472f21443
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da b/test/integration/discardOldFileChanges/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
new file mode 100644
index 000000000..06c9cb73d
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/38/143ad4a0fe2ab6ee53c2ef89a5d9e2bd9535da
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/42/786aead9ca20a3427c38e5e5262fa787ce9868 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/42/786aead9ca20a3427c38e5e5262fa787ce9868
new file mode 100644
index 000000000..2f0336f2f
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/42/786aead9ca20a3427c38e5e5262fa787ce9868
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/78/80a9728615a4d196df39600a0c8c71b40d96d6 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/78/80a9728615a4d196df39600a0c8c71b40d96d6
new file mode 100644
index 000000000..ff9e69171
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/78/80a9728615a4d196df39600a0c8c71b40d96d6
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/7b/8a8396be4352039598acb43acaadc1c380551f b/test/integration/discardOldFileChanges/expected/.git_keep/objects/7b/8a8396be4352039598acb43acaadc1c380551f
new file mode 100644
index 000000000..23756a369
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/7b/8a8396be4352039598acb43acaadc1c380551f
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c b/test/integration/discardOldFileChanges/expected/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
new file mode 100644
index 000000000..0e95eb06d
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/9e/88a70dc8d82dd2afbfd50176ef78e18823bc2c
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5 b/test/integration/discardOldFileChanges/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
new file mode 100644
index 000000000..285df3e5f
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/a5/bce3fd2565d8f458555a0c6f42d0504a848bd5
Binary files differ
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
new file mode 100644
index 000000000..76e9da484
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/d1/4505f281a54cda96fc5fb8cd4b4ee14bae6264
Binary files differ
diff --git a/test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b b/test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b
new file mode 100644
index 000000000..9b771fc2f
--- /dev/null
+++ b/test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b
Binary files differ
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
+}