1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-03-19 21:28:28 +02:00

migrate merge conflict tests

This commit is contained in:
Jesse Duffield 2023-02-25 22:09:14 +11:00
parent 33f9f81c8c
commit ff3c5d331e
247 changed files with 156 additions and 912 deletions
pkg/integration/tests
test/integration/mergeConflicts
config
expected/repo
.git_keep
COMMIT_EDITMSGFETCH_HEADHEADORIG_HEADconfigdescriptionindex
info
logs
objects
09
0b
16
17
18
1b
1f
20
21
22
24
27
2e
32
34
36
38
49
4f
55
56
5d
5f
60
61
78
88
90
91
95
9d
a1
a5
af
b0
b2
b4
c1
cc
d0
d3
d8
da
dc
dd
df
e3
e4
e5
ea
eb
ed
f1
f3
f7
f8
fd
refs/heads
cherrypicking1cherrypicking2cherrypicking3cherrypicking4cherrypicking5cherrypicking6

@ -0,0 +1,38 @@
package conflicts
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
"github.com/jesseduffield/lazygit/pkg/integration/tests/shared"
)
var Filter = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Ensures that when there are merge conflicts, the files panel only shows conflicted files",
ExtraCmdArgs: "",
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shared.CreateMergeConflictFiles(shell)
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Files().
IsFocused().
Lines(
Contains("UU").Contains("file1").IsSelected(),
Contains("UU").Contains("file2"),
).
Press(keys.Files.OpenStatusFilter).
Tap(func() {
t.ExpectPopup().Menu().
Title(Equals("Filtering")).
Select(Contains("Reset filter")).
Confirm()
}).
Lines(
Contains("UU").Contains("file1").IsSelected(),
Contains("UU").Contains("file2"),
// now we see the non-merge conflict file
Contains("A ").Contains("file3"),
)
},
})

@ -0,0 +1,33 @@
package conflicts
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
"github.com/jesseduffield/lazygit/pkg/integration/tests/shared"
)
var ResolveExternally = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Ensures that when merge conflicts are resolved outside of lazygit, lazygit prompts you to continue",
ExtraCmdArgs: "",
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shared.CreateMergeConflictFile(shell)
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Files().
IsFocused().
Lines(
Contains("UU file").IsSelected(),
).
Tap(func() {
t.Shell().UpdateFile("file", "resolved content")
}).
Press(keys.Universal.Refresh)
t.Actions().ContinueOnConflictsResolved()
t.Views().Files().
IsEmpty()
},
})

@ -0,0 +1,54 @@
package conflicts
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
"github.com/jesseduffield/lazygit/pkg/integration/tests/shared"
)
var ResolveMultipleFiles = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Ensures that upon resolving conflicts for one file, the next file is selected",
ExtraCmdArgs: "",
Skip: false,
SetupConfig: func(config *config.AppConfig) {},
SetupRepo: func(shell *Shell) {
shared.CreateMergeConflictFiles(shell)
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Files().
IsFocused().
Lines(
Contains("UU").Contains("file1").IsSelected(),
Contains("UU").Contains("file2"),
).
PressEnter()
t.Views().MergeConflicts().
IsFocused().
SelectedLines(
Contains("<<<<<<< HEAD"),
Contains("First Change"),
Contains("======="),
).
PressPrimaryAction()
t.Views().Files().
IsFocused().
Lines(
Contains("UU").Contains("file2").IsSelected(),
).
PressEnter()
// coincidentally these files have the same conflict
t.Views().MergeConflicts().
IsFocused().
SelectedLines(
Contains("<<<<<<< HEAD"),
Contains("First Change"),
Contains("======="),
).
PressPrimaryAction()
t.Actions().ContinueOnConflictsResolved()
},
})

@ -60,6 +60,33 @@ var CreateMergeCommit = func(shell *Shell) {
shell.ContinueMerge()
}
// creates a merge conflict where there are two files with conflicts and a separate file without conflicts
var CreateMergeConflictFiles = func(shell *Shell) {
shell.
NewBranch("original-branch").
EmptyCommit("one").
EmptyCommit("two").
EmptyCommit("three").
CreateFileAndAdd("file1", OriginalFileContent).
CreateFileAndAdd("file2", OriginalFileContent).
Commit("original").
NewBranch("first-change-branch").
UpdateFileAndAdd("file1", FirstChangeFileContent).
UpdateFileAndAdd("file2", FirstChangeFileContent).
Commit("first change").
Checkout("original-branch").
NewBranch("second-change-branch").
UpdateFileAndAdd("file1", SecondChangeFileContent).
UpdateFileAndAdd("file2", SecondChangeFileContent).
// this file is not changed in the second branch
CreateFileAndAdd("file3", "content").
Commit("second change").
EmptyCommit("second-change-branch unrelated change").
Checkout("first-change-branch")
shell.RunShellCommandExpectError("git merge --no-edit second-change-branch")
}
// These 'multiple' variants are just like the short ones but with longer file contents and with multiple conflicts within the file.
var OriginalFileContentMultiple = `
@ -110,8 +137,7 @@ Other
Other Second Change
`
// prepares us for a rebase/merge that has conflicts
var MergeConflictsSetupMultiple = func(shell *Shell) {
var CreateMergeConflictFileMultiple = func(shell *Shell) {
shell.
NewBranch("original-branch").
EmptyCommit("one").
@ -128,16 +154,6 @@ var MergeConflictsSetupMultiple = func(shell *Shell) {
Commit("second change").
EmptyCommit("second-change-branch unrelated change").
Checkout("first-change-branch")
}
var CreateMergeConflictFileMultiple = func(shell *Shell) {
MergeConflictsSetupMultiple(shell)
shell.RunShellCommandExpectError("git merge --no-edit second-change-branch")
}
var CreateMergeCommitMultiple = func(shell *Shell) {
CreateMergeConflictFileMultiple(shell)
shell.UpdateFileAndAdd("file", SecondChangeFileContentMultiple)
shell.ContinueMerge()
}

@ -59,6 +59,9 @@ var tests = []*components.IntegrationTest{
commit.StagedWithoutHooks,
commit.Unstaged,
config.RemoteNamedStar,
conflicts.Filter,
conflicts.ResolveExternally,
conflicts.ResolveMultipleFiles,
conflicts.UndoChooseHunk,
custom_commands.Basic,
custom_commands.FormPrompts,

@ -1,5 +0,0 @@
disableStartupPopups: true
gui:
showFileTree: false
refresher:
refreshInterval: 1

@ -1,36 +0,0 @@
Merge branch 'develop' into other_branch
# Conflicts:
# directory/file
# directory/file2
# file1
# file3
# file4
# file5
#
# 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/mergeConflicts/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 other_branch
# All conflicts fixed but you are still merging.
#
# Changes to be committed:
# new file: cherrypicking1
# new file: cherrypicking2
# new file: cherrypicking3
# new file: cherrypicking4
# new file: cherrypicking5
# new file: cherrypicking6
# new file: cherrypicking7
# new file: cherrypicking8
# new file: cherrypicking9
# modified: file1
# modified: file4
# modified: file5
#

@ -1 +0,0 @@
ref: refs/heads/other_branch

@ -1 +0,0 @@
562af0640203fb5a6e92c090d8d1ded26806d2c4

@ -1,10 +0,0 @@
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[user]
email = CI@example.com
name = CI

@ -1 +0,0 @@
Unnamed repository; edit this file 'description' to name the repository.

@ -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

@ -1,34 +0,0 @@
0000000000000000000000000000000000000000 1618ce1085acb41fd710e279ac38911aadfb0a09 CI <CI@example.com> 1617671441 +1000 commit (initial): first commit
1618ce1085acb41fd710e279ac38911aadfb0a09 1618ce1085acb41fd710e279ac38911aadfb0a09 CI <CI@example.com> 1617671441 +1000 checkout: moving from master to feature/cherry-picking
1618ce1085acb41fd710e279ac38911aadfb0a09 b2d5312a06a9c56e9ada21c48a12f57ce8dd4c4a CI <CI@example.com> 1617671441 +1000 commit: first commit freshman year
b2d5312a06a9c56e9ada21c48a12f57ce8dd4c4a f7f30ea7f84d4521d3ce9cc08b780c7a1bf7cc5e CI <CI@example.com> 1617671441 +1000 commit: second commit subway eat fresh
f7f30ea7f84d4521d3ce9cc08b780c7a1bf7cc5e edd4e2e50eb82125428b045c540a9194d934e180 CI <CI@example.com> 1617671441 +1000 commit: third commit fresh
edd4e2e50eb82125428b045c540a9194d934e180 cc19bee93215b6c20ab129fb2c006762d4ae1497 CI <CI@example.com> 1617671441 +1000 commit: fourth commit cool
cc19bee93215b6c20ab129fb2c006762d4ae1497 b0753bdba91b84e3f406e21dbc7deba8e98f1fc8 CI <CI@example.com> 1617671441 +1000 commit: fifth commit nice
b0753bdba91b84e3f406e21dbc7deba8e98f1fc8 df2c0daa40dcba0dded361a25ff7806b13db59a6 CI <CI@example.com> 1617671441 +1000 commit: sixth commit haha
df2c0daa40dcba0dded361a25ff7806b13db59a6 1fbc3eb4b11cb89b204a593572c2e01462ca5a89 CI <CI@example.com> 1617671441 +1000 commit: seventh commit yeah
1fbc3eb4b11cb89b204a593572c2e01462ca5a89 d3e2708327280097b5e1f8ab69309934b24f8b64 CI <CI@example.com> 1617671441 +1000 commit: eighth commit woo
d3e2708327280097b5e1f8ab69309934b24f8b64 d3e2708327280097b5e1f8ab69309934b24f8b64 CI <CI@example.com> 1617671441 +1000 checkout: moving from feature/cherry-picking to develop
d3e2708327280097b5e1f8ab69309934b24f8b64 a1e00cd67130c6f7e2b9bb7f23f0cda2b37eb30b CI <CI@example.com> 1617671441 +1000 commit: first commit on develop
a1e00cd67130c6f7e2b9bb7f23f0cda2b37eb30b 1618ce1085acb41fd710e279ac38911aadfb0a09 CI <CI@example.com> 1617671441 +1000 checkout: moving from develop to master
1618ce1085acb41fd710e279ac38911aadfb0a09 f89097f0bd23eda6d8977c0edfae7f913ffc5db3 CI <CI@example.com> 1617671441 +1000 commit: first commit on master
f89097f0bd23eda6d8977c0edfae7f913ffc5db3 a1e00cd67130c6f7e2b9bb7f23f0cda2b37eb30b CI <CI@example.com> 1617671441 +1000 checkout: moving from master to develop
a1e00cd67130c6f7e2b9bb7f23f0cda2b37eb30b 55f688e6b47b7a5ca8ffc4e25b77c1af6222b503 CI <CI@example.com> 1617671441 +1000 commit: second commit on develop
55f688e6b47b7a5ca8ffc4e25b77c1af6222b503 f89097f0bd23eda6d8977c0edfae7f913ffc5db3 CI <CI@example.com> 1617671441 +1000 checkout: moving from develop to master
f89097f0bd23eda6d8977c0edfae7f913ffc5db3 a19ec0b99e516795f349033f09383f87be0b74e9 CI <CI@example.com> 1617671441 +1000 commit: second commit on master
a19ec0b99e516795f349033f09383f87be0b74e9 55f688e6b47b7a5ca8ffc4e25b77c1af6222b503 CI <CI@example.com> 1617671441 +1000 checkout: moving from master to develop
55f688e6b47b7a5ca8ffc4e25b77c1af6222b503 dd259e90c3748e269bdf1ee3ce537a006d2394aa CI <CI@example.com> 1617671441 +1000 commit: third commit on develop
dd259e90c3748e269bdf1ee3ce537a006d2394aa a19ec0b99e516795f349033f09383f87be0b74e9 CI <CI@example.com> 1617671441 +1000 checkout: moving from develop to master
a19ec0b99e516795f349033f09383f87be0b74e9 61db24350a92fa37b2fe35f13eb3dd3f7655f6cf CI <CI@example.com> 1617671441 +1000 commit: third commit on master
61db24350a92fa37b2fe35f13eb3dd3f7655f6cf dd259e90c3748e269bdf1ee3ce537a006d2394aa CI <CI@example.com> 1617671441 +1000 checkout: moving from master to develop
dd259e90c3748e269bdf1ee3ce537a006d2394aa e563585cb87cc39b553ca421902d631ea8890118 CI <CI@example.com> 1617671441 +1000 commit: fourth commit on develop
e563585cb87cc39b553ca421902d631ea8890118 61db24350a92fa37b2fe35f13eb3dd3f7655f6cf CI <CI@example.com> 1617671441 +1000 checkout: moving from develop to master
61db24350a92fa37b2fe35f13eb3dd3f7655f6cf 559043765dc6c32c943b6278b4abbff1e6f52839 CI <CI@example.com> 1617671441 +1000 commit: fourth commit on master
559043765dc6c32c943b6278b4abbff1e6f52839 559043765dc6c32c943b6278b4abbff1e6f52839 CI <CI@example.com> 1617671441 +1000 checkout: moving from master to base_branch
559043765dc6c32c943b6278b4abbff1e6f52839 0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 CI <CI@example.com> 1617671441 +1000 commit: file
0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 CI <CI@example.com> 1617671441 +1000 checkout: moving from base_branch to other_branch
0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 CI <CI@example.com> 1617671441 +1000 checkout: moving from other_branch to base_branch
0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 341cf8213827614a274c750cd7dec4307eb41de7 CI <CI@example.com> 1617671441 +1000 commit: file changed
341cf8213827614a274c750cd7dec4307eb41de7 0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 CI <CI@example.com> 1617671441 +1000 checkout: moving from base_branch to other_branch
0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 562af0640203fb5a6e92c090d8d1ded26806d2c4 CI <CI@example.com> 1617671444 +1000 commit: asd
562af0640203fb5a6e92c090d8d1ded26806d2c4 f8dd12b796f400be7f59d9471670c3080f9c90a1 CI <CI@example.com> 1617671461 +1000 commit (merge): Merge branch 'develop' into other_branch

@ -1,3 +0,0 @@
0000000000000000000000000000000000000000 559043765dc6c32c943b6278b4abbff1e6f52839 CI <CI@example.com> 1617671441 +1000 branch: Created from HEAD
559043765dc6c32c943b6278b4abbff1e6f52839 0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 CI <CI@example.com> 1617671441 +1000 commit: file
0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 341cf8213827614a274c750cd7dec4307eb41de7 CI <CI@example.com> 1617671441 +1000 commit: file changed

@ -1,5 +0,0 @@
0000000000000000000000000000000000000000 d3e2708327280097b5e1f8ab69309934b24f8b64 CI <CI@example.com> 1617671441 +1000 branch: Created from HEAD
d3e2708327280097b5e1f8ab69309934b24f8b64 a1e00cd67130c6f7e2b9bb7f23f0cda2b37eb30b CI <CI@example.com> 1617671441 +1000 commit: first commit on develop
a1e00cd67130c6f7e2b9bb7f23f0cda2b37eb30b 55f688e6b47b7a5ca8ffc4e25b77c1af6222b503 CI <CI@example.com> 1617671441 +1000 commit: second commit on develop
55f688e6b47b7a5ca8ffc4e25b77c1af6222b503 dd259e90c3748e269bdf1ee3ce537a006d2394aa CI <CI@example.com> 1617671441 +1000 commit: third commit on develop
dd259e90c3748e269bdf1ee3ce537a006d2394aa e563585cb87cc39b553ca421902d631ea8890118 CI <CI@example.com> 1617671441 +1000 commit: fourth commit on develop

@ -1,9 +0,0 @@
0000000000000000000000000000000000000000 1618ce1085acb41fd710e279ac38911aadfb0a09 CI <CI@example.com> 1617671441 +1000 branch: Created from HEAD
1618ce1085acb41fd710e279ac38911aadfb0a09 b2d5312a06a9c56e9ada21c48a12f57ce8dd4c4a CI <CI@example.com> 1617671441 +1000 commit: first commit freshman year
b2d5312a06a9c56e9ada21c48a12f57ce8dd4c4a f7f30ea7f84d4521d3ce9cc08b780c7a1bf7cc5e CI <CI@example.com> 1617671441 +1000 commit: second commit subway eat fresh
f7f30ea7f84d4521d3ce9cc08b780c7a1bf7cc5e edd4e2e50eb82125428b045c540a9194d934e180 CI <CI@example.com> 1617671441 +1000 commit: third commit fresh
edd4e2e50eb82125428b045c540a9194d934e180 cc19bee93215b6c20ab129fb2c006762d4ae1497 CI <CI@example.com> 1617671441 +1000 commit: fourth commit cool
cc19bee93215b6c20ab129fb2c006762d4ae1497 b0753bdba91b84e3f406e21dbc7deba8e98f1fc8 CI <CI@example.com> 1617671441 +1000 commit: fifth commit nice
b0753bdba91b84e3f406e21dbc7deba8e98f1fc8 df2c0daa40dcba0dded361a25ff7806b13db59a6 CI <CI@example.com> 1617671441 +1000 commit: sixth commit haha
df2c0daa40dcba0dded361a25ff7806b13db59a6 1fbc3eb4b11cb89b204a593572c2e01462ca5a89 CI <CI@example.com> 1617671441 +1000 commit: seventh commit yeah
1fbc3eb4b11cb89b204a593572c2e01462ca5a89 d3e2708327280097b5e1f8ab69309934b24f8b64 CI <CI@example.com> 1617671441 +1000 commit: eighth commit woo

@ -1,5 +0,0 @@
0000000000000000000000000000000000000000 1618ce1085acb41fd710e279ac38911aadfb0a09 CI <CI@example.com> 1617671441 +1000 commit (initial): first commit
1618ce1085acb41fd710e279ac38911aadfb0a09 f89097f0bd23eda6d8977c0edfae7f913ffc5db3 CI <CI@example.com> 1617671441 +1000 commit: first commit on master
f89097f0bd23eda6d8977c0edfae7f913ffc5db3 a19ec0b99e516795f349033f09383f87be0b74e9 CI <CI@example.com> 1617671441 +1000 commit: second commit on master
a19ec0b99e516795f349033f09383f87be0b74e9 61db24350a92fa37b2fe35f13eb3dd3f7655f6cf CI <CI@example.com> 1617671441 +1000 commit: third commit on master
61db24350a92fa37b2fe35f13eb3dd3f7655f6cf 559043765dc6c32c943b6278b4abbff1e6f52839 CI <CI@example.com> 1617671441 +1000 commit: fourth commit on master

@ -1,3 +0,0 @@
0000000000000000000000000000000000000000 0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 CI <CI@example.com> 1617671441 +1000 branch: Created from HEAD
0b2387a3f67ec050f6d4e08f379e3cbb0a9913f1 562af0640203fb5a6e92c090d8d1ded26806d2c4 CI <CI@example.com> 1617671444 +1000 commit: asd
562af0640203fb5a6e92c090d8d1ded26806d2c4 f8dd12b796f400be7f59d9471670c3080f9c90a1 CI <CI@example.com> 1617671461 +1000 commit (merge): Merge branch 'develop' into other_branch

@ -1,4 +0,0 @@
x��M
Β0F]η³d&Ν�΅«c’™PΑΪR£θν x·�ορ½ΌΜσµ‚Ε°«›*,ΡΪΙgφ>΅Σ�
‹MGΞ�”X¤ο;³ς¦χ
RlFav(91�¨t�ΨϊRβCΆN’ο9~ΦiΩ`α4�}σΌήτ�—ω (¶?ηφ„�¦ΡUυΟΉyθ«µLπσΰ£<™/n�@<

@ -1,2 +0,0 @@
xå�A
Â0E]çÿAîTz�I34…˜)É´âíM‰K‘îý0 |>oñ\‡ãa¿ë83ÆBQÉ/h E Çœ }­²Ìa¨ŸAsjAw¿ÞŒ¤ž1O’*Bǯ³Š|V¡'5ç–ßC/ƒ¹´ÀóÂQ&c­ý«Û¬5Éêx³ÜÏü›â7Ã0|Æ

@ -1 +0,0 @@
xå�Ñ €0CývŠLÐÅ\ãj�VО´WÄí=Àü�„äãùM<†iìf.Œµ‚PUÊM¤HTá™3T¶`Q‘–¢9ƒ"×^òÂh‡d[éºóÓØËi+B�Ø;ç~¥/ Y:/–¸<PÃ

@ -1,3 +0,0 @@
x��M
Β0F]η³$Σόµ "tΥcL’*Sb
ί‚pϋψίKµ”G‡υ©7f06‹™eς£¤Ιa �4ΆΠHQ8η�²Ϊ¨ρ«ƒΗk�¦i2!ΒΖ �&g#Α;'>‰Ά½―µΑΌΐu^ξό΅²=ω’jΉΑq|@kΞ¨µV=Ά:�9WRχΦWψiP_Pθ}Ψκ m·A¬

@ -1,6 +0,0 @@
x�ŽA
Â0E]ç³d&S’
"BW=F&3E¡mJ�âñ x·�ÿ>/—eyTðD‡º›Á¤LÙR4”`½2w¾G1îTzÕ>dÕĈÑmi·µB"CÌ"1æ0Eór‰“ç©áä…£ £¸ôª÷²Ã0ÂeoöIË6Û)—å
(¶ƒ®#8"ºF[Tµ?çîi¹¬
? Ê
jo›Ëæ¾Ç^B

@ -1,2 +0,0 @@
xŤÎM
Â0†a×9Ĺě™i&?"BW=FŇNhÁŘR#x| ^ŔíÇűŔ7®µ. :”SŰUˇŁS ­Ř轋‘(0zÉĘÇ’8ZĺTĚ–v}6H$:bQG>�+–­-xp[bČŠ9°ŠIď6Ż;ô\űᮟT·‡^Ƶހ<�™ŕL�hŽő8ŐôĎÜ´yŮ'ř)XźPÓëŔć ‡Ľ> 

@ -1,2 +0,0 @@
x��M
Β0…]η³d¦iσ"BW=Ζ$™ `��FπψΌ€Λχρ>ή‹µ”gƒ�πΤv@ƒΈh,Ω�† 9k‚ f${BΦqrSRο²6ΘΞ£·C΄$6ΙyΫMI™ΕfO:η8¥ ΏΫ£ξ0/p�—»|Έl/ΉΔZn@†lG‚3!Άκ΄�jςg]λ�ΰ§A]΅πΡmυPA#

@ -1,4 +0,0 @@
x��K
Β0@]η³d&™|
"BW=F“L°Π6¥FρψΌ€ΫΗ{πR]–©�&<µ]4»β9xΑ ΞL)Jb΄F<±ΝΦΗ™Υ6ξ²6ΘF΄Η`΄Χ±σΡ
•0FΧμ:ΓQs Ρ±_νQwθΈφΓ]>γ²ΝrIuΉ9ςΞ3Α™Qτ�jς§®Κ΄?ό*¨+dyΛ\7υΑΨ>ΰ

@ -1,3 +0,0 @@
x�ŽË
Â0E]ç+f/H&�}€ˆÐU?c2½¡cKAÿÞŠ?àörÎáê’Ò\Èqu( UŒÜAá½ó°c]�PAœj¨C„D‘Ö¬’ñ(Ä5·
¶íY4xŽcîéD«¶cc°b;#Ï2-™ú�.ýpÃKÒzÇI—tý6šºal­5ûºŸ*ø7qÎ[¡ŸE1c›’<è ÉæÊ;C|

@ -1,3 +0,0 @@
xŤŽM
Â0F]çł$“źI"BW=F2NmÁ�R"z| ^ŔíÇ{ŹŹ[­KŁÝˇo"˘%˘›¸ĚĄ““Ll´Ç�ÂäŃbdďÔš7yvŔ©°•â
"—�ĘĘ>Y ŃčČpö9&•_}n #ś‡ń*ź\ׇś¸Ő a €Î!Qk­öu?ŐĺO\Érźű ? Ţ­©/Ő�=w

@ -1 +0,0 @@
xĺ�Ń €0Cýî™ ?Š3¸ĆµV¨=iOÄí=Ŕü�„äă…,ý8tWĆÚ@h*ő‚&R$jĚ*y¶¨Ę‘s-Üś”Č8v)¶Ňu㧱—ÓV„HęĽ÷żŇ�"ťË µćPż

@ -1,3 +0,0 @@
xŤŽK
Â0@]çłd&żi@DčĘcLŇ -XSJŹŻŕÜ>Ţ�WÚş.,áˇďŞ�BšX'a’Rgb‡�=ŠËľ:LčS1›ěúčBŤĂ 1{Î,ˇČPkńjCf.$5Zks@gäŮç¶Ăx�óx»ę[Öí®§ŇÖ P$ŽLŢ Í—~§şţ©›>/űż
Ú&}é˝mćšľ@;

@ -1,2 +0,0 @@
x�ŽM
à F»ö³/G�?PJ!«C� )ÄÄ”¿�^ Ûï½_®¥¼:(ÄKoÌÀ1Ÿ²&ã“Ožfãee<‡€Jºœ5‰=6Þ:©!p�Y»“+ÍȬ3ÚE)-)LŒ"}© Æ îãôäO,ûÊ·\ËТ³�A¸¢”RœëyªóŸº˜ëÑú¿ êÄo^ë.¾�zA»

@ -1 +0,0 @@
x�Ο»j1…αΤϋΣΉ„™‘4’ „€+y† ΛlΦΰ]-B1~ό,„τiΟ�5§΄u½`ο�FW}&e#.„•ΕΫ“σΑ§¬™YR���φΤuΰ„Σ�b‘ΡΜΩ%ΡΘ#ΦP©jεƒJεb�Ό:1.Έ’ƒ/ΕΔμ�)Ι2Eδ*†4…‘(Lι{,­Γω―ηΛ»>�Ίίτ¥΄υ HΘ‹'+Ο„�Σ±'†ώ“OΪΏrO[YΰTυ®·¶�ΰΊ�m,Ϊ?Ϋτ>ίR¦

@ -1 +0,0 @@
341cf8213827614a274c750cd7dec4307eb41de7

@ -1 +0,0 @@
e563585cb87cc39b553ca421902d631ea8890118

@ -1 +0,0 @@
559043765dc6c32c943b6278b4abbff1e6f52839

@ -1 +0,0 @@
f8dd12b796f400be7f59d9471670c3080f9c90a1

@ -1 +0,0 @@
this is file number 1 that I'm going to cherry-pick

@ -1 +0,0 @@
this is file number 2 that I'm going to cherry-pick

@ -1 +0,0 @@
this is file number 3 that I'm going to cherry-pick

@ -1 +0,0 @@
this is file number 4 that I'm going to cherry-pick

@ -1 +0,0 @@
this is file number 5 that I'm going to cherry-pick

@ -1 +0,0 @@
this is file number 6 that I'm going to cherry-pick

Some files were not shown because too many files have changed in this diff Show More