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 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 Binary files /dev/null and b/test/integration/discardOldFileChanges/expected/.git_keep/index 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 1641697108 +1100 commit (initial): file0 +b7a702b642978f2a9b1af9c1c67b22127af78c92 7880a9728615a4d196df39600a0c8c71b40d96d6 CI 1641697108 +1100 commit: twoFiles +7880a9728615a4d196df39600a0c8c71b40d96d6 af6725ba23f43a286deff0747476d7874113df1e CI 1641697108 +1100 commit: file2 +af6725ba23f43a286deff0747476d7874113df1e af6725ba23f43a286deff0747476d7874113df1e CI 1641697111 +1100 rebase: updating HEAD +af6725ba23f43a286deff0747476d7874113df1e b7a702b642978f2a9b1af9c1c67b22127af78c92 CI 1641697111 +1100 rebase -i (start): checkout b7a702b642978f2a9b1af9c1c67b22127af78c92 +b7a702b642978f2a9b1af9c1c67b22127af78c92 7880a9728615a4d196df39600a0c8c71b40d96d6 CI 1641697111 +1100 rebase -i: fast-forward +7880a9728615a4d196df39600a0c8c71b40d96d6 d14505f281a54cda96fc5fb8cd4b4ee14bae6264 CI 1641697111 +1100 commit (amend): twoFiles +d14505f281a54cda96fc5fb8cd4b4ee14bae6264 225ad83faa797c1831a2bc956a21e2d472f21443 CI 1641697111 +1100 rebase -i (pick): file2 +225ad83faa797c1831a2bc956a21e2d472f21443 225ad83faa797c1831a2bc956a21e2d472f21443 CI 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 1641697108 +1100 commit (initial): file0 +b7a702b642978f2a9b1af9c1c67b22127af78c92 7880a9728615a4d196df39600a0c8c71b40d96d6 CI 1641697108 +1100 commit: twoFiles +7880a9728615a4d196df39600a0c8c71b40d96d6 af6725ba23f43a286deff0747476d7874113df1e CI 1641697108 +1100 commit: file2 +af6725ba23f43a286deff0747476d7874113df1e 225ad83faa797c1831a2bc956a21e2d472f21443 CI 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 Binary files /dev/null and b/test/integration/discardOldFileChanges/expected/.git_keep/objects/00/cbccfd35a05ef9373bba9d5633cf6e67f83dd5 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\ .%xJNO|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 Binary files /dev/null and b/test/integration/discardOldFileChanges/expected/.git_keep/objects/d1/4505f281a54cda96fc5fb8cd4b4ee14bae6264 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 Binary files /dev/null and b/test/integration/discardOldFileChanges/expected/.git_keep/objects/df/6b0d2bcc76e6ec0fca20c227104a4f28bac41b 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 +}