mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-04-11 11:42:12 +02:00
migrate more tests
This commit is contained in:
parent
eabe7f462a
commit
1034962c7e
@ -17,3 +17,17 @@ func (self *Actions) ContinueMerge() {
|
||||
func (self *Actions) ContinueRebase() {
|
||||
self.ContinueMerge()
|
||||
}
|
||||
|
||||
func (self *Actions) AcknowledgeConflicts() {
|
||||
self.t.ExpectPopup().Confirmation().
|
||||
Title(Equals("Auto-merge failed")).
|
||||
Content(Contains("Conflicts!")).
|
||||
Confirm()
|
||||
}
|
||||
|
||||
func (self *Actions) ContinueOnConflictsResolved() {
|
||||
self.t.ExpectPopup().Confirmation().
|
||||
Title(Equals("continue")).
|
||||
Content(Contains("all merge conflicts resolved. Continue?")).
|
||||
Confirm()
|
||||
}
|
||||
|
@ -35,10 +35,7 @@ var Rebase = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Content(Contains("Are you sure you want to rebase 'first-change-branch' on top of 'second-change-branch'?")).
|
||||
Confirm()
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("Auto-merge failed")).
|
||||
Content(Contains("Conflicts!")).
|
||||
Confirm()
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
@ -51,10 +48,7 @@ var Rebase = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
|
||||
t.Views().Information().Content(Contains("rebasing"))
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("continue")).
|
||||
Content(Contains("all merge conflicts resolved. Continue?")).
|
||||
Confirm()
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Information().Content(DoesNotContain("rebasing"))
|
||||
|
||||
|
@ -43,10 +43,7 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
|
||||
t.Views().Information().Content(Contains("rebasing"))
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("Auto-merge failed")).
|
||||
Content(Contains("Conflicts!")).
|
||||
Confirm()
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Files().IsFocused().
|
||||
SelectedLine(MatchesRegexp("UU.*file"))
|
||||
@ -78,10 +75,7 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
IsFocused().
|
||||
PressPrimaryAction()
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("continue")).
|
||||
Content(Contains("all merge conflicts resolved. Continue?")).
|
||||
Confirm()
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Information().Content(DoesNotContain("rebasing"))
|
||||
|
||||
|
@ -52,10 +52,7 @@ var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Content(Contains("Are you sure you want to cherry-pick the copied commits onto this branch?")).
|
||||
Confirm()
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("Auto-merge failed")).
|
||||
Content(Contains("Conflicts!")).
|
||||
Confirm()
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
@ -68,10 +65,7 @@ var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
SelectNextItem().
|
||||
PressPrimaryAction()
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("continue")).
|
||||
Content(Contains("all merge conflicts resolved. Continue?")).
|
||||
Confirm()
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Files().IsEmpty()
|
||||
|
||||
|
@ -99,10 +99,7 @@ var DiscardChanges = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
{status: "DU", label: "deleted-us.txt", menuTitle: "deleted-us.txt"},
|
||||
})
|
||||
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("continue")).
|
||||
Content(Contains("all merge conflicts resolved. Continue?")).
|
||||
Cancel()
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
discardOneByOne([]statusFile{
|
||||
{status: "MD", label: "change-delete.txt", menuTitle: "change-delete.txt"},
|
||||
|
@ -49,21 +49,7 @@ var SwapInRebaseWithConflict = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
})
|
||||
|
||||
func handleConflictsFromSwap(t *TestDriver) {
|
||||
continueMerge := func() {
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("continue")).
|
||||
Content(Contains("all merge conflicts resolved. Continue?")).
|
||||
Confirm()
|
||||
}
|
||||
|
||||
acceptConflicts := func() {
|
||||
t.ExpectPopup().Confirmation().
|
||||
Title(Equals("Auto-merge failed")).
|
||||
Content(Contains("Conflicts!")).
|
||||
Confirm()
|
||||
}
|
||||
|
||||
acceptConflicts()
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
@ -84,9 +70,9 @@ func handleConflictsFromSwap(t *TestDriver) {
|
||||
SelectNextItem().
|
||||
PressPrimaryAction() // pick "three"
|
||||
|
||||
continueMerge()
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
acceptConflicts()
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
@ -107,7 +93,7 @@ func handleConflictsFromSwap(t *TestDriver) {
|
||||
SelectNextItem().
|
||||
PressPrimaryAction() // pick "two"
|
||||
|
||||
continueMerge()
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
|
53
pkg/integration/tests/sync/pull_merge.go
Normal file
53
pkg/integration/tests/sync/pull_merge.go
Normal file
@ -0,0 +1,53 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var PullMerge = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Pull with a merge strategy",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFileAndAdd("file", "content1")
|
||||
shell.Commit("one")
|
||||
shell.UpdateFileAndAdd("file", "content2")
|
||||
shell.Commit("two")
|
||||
shell.EmptyCommit("three")
|
||||
|
||||
shell.CloneIntoRemote("origin")
|
||||
|
||||
shell.SetBranchUpstream("master", "origin/master")
|
||||
|
||||
shell.HardReset("HEAD^^")
|
||||
shell.EmptyCommit("four")
|
||||
|
||||
shell.SetConfig("pull.rebase", "false")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Status().Content(Contains("↓2 repo → master"))
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Press(keys.Universal.Pull)
|
||||
|
||||
t.Views().Status().Content(Contains("↑2 repo → master"))
|
||||
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("Merge branch 'master' of ../origin"),
|
||||
Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
},
|
||||
})
|
84
pkg/integration/tests/sync/pull_merge_conflict.go
Normal file
84
pkg/integration/tests/sync/pull_merge_conflict.go
Normal file
@ -0,0 +1,84 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var PullMergeConflict = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Pull with a merge strategy, where a conflict occurs",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFileAndAdd("file", "content1")
|
||||
shell.Commit("one")
|
||||
shell.UpdateFileAndAdd("file", "content2")
|
||||
shell.Commit("two")
|
||||
shell.EmptyCommit("three")
|
||||
|
||||
shell.CloneIntoRemote("origin")
|
||||
|
||||
shell.SetBranchUpstream("master", "origin/master")
|
||||
|
||||
shell.HardReset("HEAD^^")
|
||||
shell.UpdateFileAndAdd("file", "content4")
|
||||
shell.Commit("four")
|
||||
|
||||
shell.SetConfig("pull.rebase", "false")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Status().Content(Contains("↓2 repo → master"))
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Press(keys.Universal.Pull)
|
||||
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Lines(
|
||||
Contains("UU").Contains("file"),
|
||||
).
|
||||
PressEnter()
|
||||
|
||||
t.Views().MergeConflicts().
|
||||
IsFocused().
|
||||
TopLines(
|
||||
Contains("<<<<<<< HEAD"),
|
||||
Contains("content4"),
|
||||
Contains("======="),
|
||||
Contains("content2"),
|
||||
Contains(">>>>>>>"),
|
||||
).
|
||||
PressPrimaryAction() // choose 'content4'
|
||||
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Status().Content(Contains("↑2 repo → master"))
|
||||
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("Merge branch 'master' of ../origin").IsSelected(),
|
||||
Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Main().
|
||||
Content(
|
||||
Contains("- content4").
|
||||
Contains(" -content2").
|
||||
Contains("++content4"),
|
||||
)
|
||||
},
|
||||
})
|
52
pkg/integration/tests/sync/pull_rebase.go
Normal file
52
pkg/integration/tests/sync/pull_rebase.go
Normal file
@ -0,0 +1,52 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var PullRebase = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Pull with a rebase strategy",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFileAndAdd("file", "content1")
|
||||
shell.Commit("one")
|
||||
shell.UpdateFileAndAdd("file", "content2")
|
||||
shell.Commit("two")
|
||||
shell.EmptyCommit("three")
|
||||
|
||||
shell.CloneIntoRemote("origin")
|
||||
|
||||
shell.SetBranchUpstream("master", "origin/master")
|
||||
|
||||
shell.HardReset("HEAD^^")
|
||||
shell.EmptyCommit("four")
|
||||
|
||||
shell.SetConfig("pull.rebase", "true")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Status().Content(Contains("↓2 repo → master"))
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Press(keys.Universal.Pull)
|
||||
|
||||
t.Views().Status().Content(Contains("↑1 repo → master"))
|
||||
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("four"),
|
||||
Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("one"),
|
||||
)
|
||||
},
|
||||
})
|
83
pkg/integration/tests/sync/pull_rebase_conflict.go
Normal file
83
pkg/integration/tests/sync/pull_rebase_conflict.go
Normal file
@ -0,0 +1,83 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var PullRebaseConflict = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Pull with a rebase strategy, where a conflict occurs",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFileAndAdd("file", "content1")
|
||||
shell.Commit("one")
|
||||
shell.UpdateFileAndAdd("file", "content2")
|
||||
shell.Commit("two")
|
||||
shell.EmptyCommit("three")
|
||||
|
||||
shell.CloneIntoRemote("origin")
|
||||
|
||||
shell.SetBranchUpstream("master", "origin/master")
|
||||
|
||||
shell.HardReset("HEAD^^")
|
||||
shell.UpdateFileAndAdd("file", "content4")
|
||||
shell.Commit("four")
|
||||
|
||||
shell.SetConfig("pull.rebase", "true")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Status().Content(Contains("↓2 repo → master"))
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Press(keys.Universal.Pull)
|
||||
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Lines(
|
||||
Contains("UU").Contains("file"),
|
||||
).
|
||||
PressEnter()
|
||||
|
||||
t.Views().MergeConflicts().
|
||||
IsFocused().
|
||||
TopLines(
|
||||
Contains("<<<<<<< HEAD"),
|
||||
Contains("content2"),
|
||||
Contains("======="),
|
||||
Contains("content4"),
|
||||
Contains(">>>>>>>"),
|
||||
).
|
||||
SelectNextItem().
|
||||
PressPrimaryAction() // choose 'content4'
|
||||
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Status().Content(Contains("↑1 repo → master"))
|
||||
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("four").IsSelected(),
|
||||
Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Main().
|
||||
Content(
|
||||
Contains("-content2").
|
||||
Contains("+content4"),
|
||||
)
|
||||
},
|
||||
})
|
@ -0,0 +1,95 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var PullRebaseInteractiveConflict = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Pull with an interactive rebase strategy, where a conflict occurs",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFileAndAdd("file", "content1")
|
||||
shell.Commit("one")
|
||||
shell.UpdateFileAndAdd("file", "content2")
|
||||
shell.Commit("two")
|
||||
shell.EmptyCommit("three")
|
||||
|
||||
shell.CloneIntoRemote("origin")
|
||||
|
||||
shell.SetBranchUpstream("master", "origin/master")
|
||||
|
||||
shell.HardReset("HEAD^^")
|
||||
shell.UpdateFileAndAdd("file", "content4")
|
||||
shell.Commit("four")
|
||||
shell.EmptyCommit("five")
|
||||
|
||||
shell.SetConfig("pull.rebase", "interactive")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("five"),
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Status().Content(Contains("↓2 repo → master"))
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Press(keys.Universal.Pull)
|
||||
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("pick").Contains("five"),
|
||||
Contains("YOU ARE HERE").Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Lines(
|
||||
Contains("UU").Contains("file"),
|
||||
).
|
||||
PressEnter()
|
||||
|
||||
t.Views().MergeConflicts().
|
||||
IsFocused().
|
||||
TopLines(
|
||||
Contains("<<<<<<< HEAD"),
|
||||
Contains("content2"),
|
||||
Contains("======="),
|
||||
Contains("content4"),
|
||||
Contains(">>>>>>>"),
|
||||
).
|
||||
SelectNextItem().
|
||||
PressPrimaryAction() // choose 'content4'
|
||||
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Status().Content(Contains("↑2 repo → master"))
|
||||
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("five").IsSelected(),
|
||||
Contains("four"),
|
||||
Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("one"),
|
||||
).
|
||||
SelectNextItem()
|
||||
|
||||
t.Views().Main().
|
||||
Content(
|
||||
Contains("-content2").
|
||||
Contains("+content4"),
|
||||
)
|
||||
},
|
||||
})
|
@ -0,0 +1,101 @@
|
||||
package sync
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var PullRebaseInteractiveConflictDrop = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Pull with an interactive rebase strategy, where a conflict occurs. Also drop a commit while rebasing",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFileAndAdd("file", "content1")
|
||||
shell.Commit("one")
|
||||
shell.UpdateFileAndAdd("file", "content2")
|
||||
shell.Commit("two")
|
||||
shell.EmptyCommit("three")
|
||||
|
||||
shell.CloneIntoRemote("origin")
|
||||
|
||||
shell.SetBranchUpstream("master", "origin/master")
|
||||
|
||||
shell.HardReset("HEAD^^")
|
||||
shell.UpdateFileAndAdd("file", "content4")
|
||||
shell.Commit("four")
|
||||
shell.EmptyCommit("five")
|
||||
|
||||
shell.SetConfig("pull.rebase", "interactive")
|
||||
},
|
||||
Run: func(t *TestDriver, keys config.KeybindingConfig) {
|
||||
t.Views().Commits().
|
||||
Lines(
|
||||
Contains("five"),
|
||||
Contains("four"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Status().Content(Contains("↓2 repo → master"))
|
||||
|
||||
t.Views().Files().
|
||||
IsFocused().
|
||||
Press(keys.Universal.Pull)
|
||||
|
||||
t.Actions().AcknowledgeConflicts()
|
||||
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("pick").Contains("five").IsSelected(),
|
||||
Contains("YOU ARE HERE").Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("one"),
|
||||
).
|
||||
Press(keys.Universal.Remove).
|
||||
Lines(
|
||||
Contains("drop").Contains("five").IsSelected(),
|
||||
Contains("YOU ARE HERE").Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Files().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("UU").Contains("file"),
|
||||
).
|
||||
PressEnter()
|
||||
|
||||
t.Views().MergeConflicts().
|
||||
IsFocused().
|
||||
TopLines(
|
||||
Contains("<<<<<<< HEAD"),
|
||||
Contains("content2"),
|
||||
Contains("======="),
|
||||
Contains("content4"),
|
||||
Contains(">>>>>>>"),
|
||||
).
|
||||
SelectNextItem().
|
||||
PressPrimaryAction() // choose 'content4'
|
||||
|
||||
t.Actions().ContinueOnConflictsResolved()
|
||||
|
||||
t.Views().Status().Content(Contains("↑1 repo → master"))
|
||||
|
||||
t.Views().Commits().
|
||||
Focus().
|
||||
Lines(
|
||||
Contains("four").IsSelected(),
|
||||
Contains("three"),
|
||||
Contains("two"),
|
||||
Contains("one"),
|
||||
)
|
||||
|
||||
t.Views().Main().
|
||||
Content(
|
||||
Contains("-content2").
|
||||
Contains("+content4"),
|
||||
)
|
||||
},
|
||||
})
|
@ -121,6 +121,12 @@ var tests = []*components.IntegrationTest{
|
||||
sync.ForcePushMultipleUpstream,
|
||||
sync.Pull,
|
||||
sync.PullAndSetUpstream,
|
||||
sync.PullMerge,
|
||||
sync.PullMergeConflict,
|
||||
sync.PullRebase,
|
||||
sync.PullRebaseConflict,
|
||||
sync.PullRebaseInteractiveConflict,
|
||||
sync.PullRebaseInteractiveConflictDrop,
|
||||
sync.Push,
|
||||
sync.PushAndAutoSetUpstream,
|
||||
sync.PushAndSetUpstream,
|
||||
|
@ -1 +0,0 @@
|
||||
ref: refs/heads/master
|
@ -1,8 +0,0 @@
|
||||
[core]
|
||||
repositoryformatversion = 0
|
||||
filemode = true
|
||||
bare = true
|
||||
ignorecase = true
|
||||
precomposeunicode = true
|
||||
[remote "origin"]
|
||||
url = /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/pullMerge/actual/./repo
|
@ -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
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x�ΝA
|
||||
ƒ0@Ρ®s�ΩJF§“))Ές1™PΑ!")ΨΫΧ#tϋyπS5[ ρ¥ν�ΰ•Sρ‘ηπPΙD�ΒY°‹XΝΤg¦Σ½sρΣήu‡q‚η8½τ�¶zKΥ@&ιIΈ"zοΞzN�ώΙ�}Λ²*Ί6%,ε
|
@ -1,2 +0,0 @@
|
||||
x�خA
|
||||
آ0@Qط9E��ج$��D��z���`ءظR"وٍٍ�~�قدkkK��وشwUً*�ِبا�4!s�عVaG>ج9$4[��ص-�P�H$`�ذU�Z5W)nb�0�&e5��ًn�ر^�ّ�����^ن��,2EOQXٌ���ي�'7ٍ[������9%
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
# pack-refs with: peeled fully-peeled sorted
|
||||
291b985e75f255f9947f064aee9e1f37af1a930d refs/heads/master
|
@ -1 +0,0 @@
|
||||
myfile4
|
@ -1 +0,0 @@
|
||||
291b985e75f255f9947f064aee9e1f37af1a930d branch 'master' of ../origin
|
@ -1 +0,0 @@
|
||||
ref: refs/heads/master
|
@ -1 +0,0 @@
|
||||
673a4237450c6ea2a27b18f1d7a3c9293c5606ea
|
@ -1,18 +0,0 @@
|
||||
[core]
|
||||
repositoryformatversion = 0
|
||||
filemode = true
|
||||
bare = false
|
||||
logallrefupdates = true
|
||||
ignorecase = true
|
||||
precomposeunicode = true
|
||||
[user]
|
||||
email = CI@example.com
|
||||
name = CI
|
||||
[remote "origin"]
|
||||
url = ../origin
|
||||
fetch = +refs/heads/*:refs/remotes/origin/*
|
||||
[branch "master"]
|
||||
remote = origin
|
||||
merge = refs/heads/master
|
||||
[pull]
|
||||
rebase = false
|
@ -1 +0,0 @@
|
||||
Unnamed repository; edit this file 'description' to name the repository.
|
Binary file not shown.
@ -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,7 +0,0 @@
|
||||
0000000000000000000000000000000000000000 224786fb3e4a16b22b4e2b43fe01d7797491adad CI <CI@example.com> 1648348767 +1100 commit (initial): myfile1
|
||||
224786fb3e4a16b22b4e2b43fe01d7797491adad 82422401226cbf89b60b7ba3c6d4fa74781250c9 CI <CI@example.com> 1648348767 +1100 commit: myfile2
|
||||
82422401226cbf89b60b7ba3c6d4fa74781250c9 0d5dd7784063912fe3efeaf7d2b6782019ee9e6e CI <CI@example.com> 1648348767 +1100 commit: myfile3
|
||||
0d5dd7784063912fe3efeaf7d2b6782019ee9e6e 291b985e75f255f9947f064aee9e1f37af1a930d CI <CI@example.com> 1648348767 +1100 commit: myfile4
|
||||
291b985e75f255f9947f064aee9e1f37af1a930d 82422401226cbf89b60b7ba3c6d4fa74781250c9 CI <CI@example.com> 1648348767 +1100 reset: moving to HEAD~2
|
||||
82422401226cbf89b60b7ba3c6d4fa74781250c9 673a4237450c6ea2a27b18f1d7a3c9293c5606ea CI <CI@example.com> 1648348767 +1100 commit: myfile4
|
||||
673a4237450c6ea2a27b18f1d7a3c9293c5606ea a61316509295a5644a82e38e8bd455422fe477c5 CI <CI@example.com> 1648348768 +1100 pull --no-edit: Merge made by the 'recursive' strategy.
|
@ -1,7 +0,0 @@
|
||||
0000000000000000000000000000000000000000 224786fb3e4a16b22b4e2b43fe01d7797491adad CI <CI@example.com> 1648348767 +1100 commit (initial): myfile1
|
||||
224786fb3e4a16b22b4e2b43fe01d7797491adad 82422401226cbf89b60b7ba3c6d4fa74781250c9 CI <CI@example.com> 1648348767 +1100 commit: myfile2
|
||||
82422401226cbf89b60b7ba3c6d4fa74781250c9 0d5dd7784063912fe3efeaf7d2b6782019ee9e6e CI <CI@example.com> 1648348767 +1100 commit: myfile3
|
||||
0d5dd7784063912fe3efeaf7d2b6782019ee9e6e 291b985e75f255f9947f064aee9e1f37af1a930d CI <CI@example.com> 1648348767 +1100 commit: myfile4
|
||||
291b985e75f255f9947f064aee9e1f37af1a930d 82422401226cbf89b60b7ba3c6d4fa74781250c9 CI <CI@example.com> 1648348767 +1100 reset: moving to HEAD~2
|
||||
82422401226cbf89b60b7ba3c6d4fa74781250c9 673a4237450c6ea2a27b18f1d7a3c9293c5606ea CI <CI@example.com> 1648348767 +1100 commit: myfile4
|
||||
673a4237450c6ea2a27b18f1d7a3c9293c5606ea a61316509295a5644a82e38e8bd455422fe477c5 CI <CI@example.com> 1648348768 +1100 pull --no-edit: Merge made by the 'recursive' strategy.
|
@ -1 +0,0 @@
|
||||
0000000000000000000000000000000000000000 291b985e75f255f9947f064aee9e1f37af1a930d CI <CI@example.com> 1648348767 +1100 fetch origin: storing head
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x�ΝA
|
||||
ƒ0@Ρ®s�ΩJF§“))Ές1™PΑ!")ΨΫΧ#tϋyπS5[ ρ¥ν�ΰ•Sρ‘ηπPΙD�ΒY°‹XΝΤg¦Σ½sρΣήu‡q‚η8½τ�¶zKΥ@&ιIΈ"zοΞzN�ώΙ�}Λ²*Ί6%,ε
|
@ -1,2 +0,0 @@
|
||||
x�خA
|
||||
آ0@Qط9E��ج$��D��z���`ءظR"وٍٍ�~�قدkkK��وشwUً*�ِبا�4!s�عVaG>ج9$4[��ص-�P�H$`�ذU�Z5W)nb�0�&e5��ًn�ر^�ّ�����^ن��,2EOQXٌ���ي�'7ٍ[������9%
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
a61316509295a5644a82e38e8bd455422fe477c5
|
@ -1 +0,0 @@
|
||||
291b985e75f255f9947f064aee9e1f37af1a930d
|
@ -1 +0,0 @@
|
||||
test1
|
@ -1 +0,0 @@
|
||||
test2
|
@ -1 +0,0 @@
|
||||
test3
|
@ -1 +0,0 @@
|
||||
test4
|
@ -1 +0,0 @@
|
||||
{"KeyEvents":[{"Timestamp":537,"Mod":0,"Key":256,"Ch":112},{"Timestamp":1401,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":272,"Height":74}]}
|
@ -1,42 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
set -e
|
||||
|
||||
cd $1
|
||||
|
||||
git init
|
||||
|
||||
git config user.email "CI@example.com"
|
||||
git config user.name "CI"
|
||||
|
||||
echo test1 > myfile1
|
||||
git add .
|
||||
git commit -am "myfile1"
|
||||
echo test2 > myfile2
|
||||
git add .
|
||||
git commit -am "myfile2"
|
||||
echo test3 > myfile3
|
||||
git add .
|
||||
git commit -am "myfile3"
|
||||
echo test4 > myfile4
|
||||
git add .
|
||||
git commit -am "myfile4"
|
||||
|
||||
cd ..
|
||||
git clone --bare ./repo origin
|
||||
|
||||
cd repo
|
||||
|
||||
git reset --hard HEAD~2
|
||||
|
||||
echo test4 > myfile4
|
||||
git add .
|
||||
git commit -am "myfile4"
|
||||
|
||||
git remote add origin ../origin
|
||||
git fetch origin
|
||||
git branch --set-upstream-to=origin/master master
|
||||
|
||||
git config pull.rebase false
|
@ -1 +0,0 @@
|
||||
{ "description": "When user has configured pull with merge, ensure a merge commit is created upon pull", "speed": 10 }
|
@ -1 +0,0 @@
|
||||
ref: refs/heads/master
|
@ -1,8 +0,0 @@
|
||||
[core]
|
||||
repositoryformatversion = 0
|
||||
filemode = true
|
||||
bare = true
|
||||
ignorecase = true
|
||||
precomposeunicode = true
|
||||
[remote "origin"]
|
||||
url = /Users/jesseduffieldduffield/go/src/github.com/jesseduffield/lazygit/test/integration/pullMergeConflict/actual/./repo
|
@ -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
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
xŤÎA
|
||||
Â0@Q×9Eö‚d’É$ˇ«cšÎ`ÁŘR"čííÜ~Ţâ×µµĄ[(xę»�őJ�ĐE˛Ă�p˘�9D’DC¬�Ťwyu[d§čQ„¦X<‚HU•ą*#&Ď™ćâÓlřÝën‡Ń^‡ń.nŰS.um7„9`�”íŔ9sÔcŞËźÜ´Ż.OAó9w
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x�ÍA
|
||||
ƒ0@Ñ®sŠÙJF§“J\yŒ˜L¨à�")´·×#tûyðS5[ ñ¥íªà•Sñ‘—0¨d"Eá,ØE,�ê3S‰éÞ¹øi¯ºÃ4ÃcšGýF{ozKÕž€LÒÓ€AàŠè½;ë9iú'wö+ë¦è5",ß
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
# pack-refs with: peeled fully-peeled sorted
|
||||
29c0636a86cc64292b7a6b1083c2df10de9cde6c refs/heads/master
|
@ -1,25 +0,0 @@
|
||||
Merge branch 'master' of ../origin
|
||||
|
||||
# Conflicts:
|
||||
# myfile4
|
||||
#
|
||||
# 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/pullMergeConflict/actual/repo/.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 master
|
||||
# Your branch and 'origin/master' have diverged,
|
||||
# and have 1 and 2 different commits each, respectively.
|
||||
# (use "git pull" to merge the remote branch into yours)
|
||||
#
|
||||
# All conflicts fixed but you are still merging.
|
||||
#
|
||||
# Changes to be committed:
|
||||
# new file: myfile3
|
||||
# modified: myfile4
|
||||
#
|
@ -1 +0,0 @@
|
||||
29c0636a86cc64292b7a6b1083c2df10de9cde6c branch 'master' of ../origin
|
@ -1 +0,0 @@
|
||||
ref: refs/heads/master
|
@ -1 +0,0 @@
|
||||
4db288af7bc797a3819441c734a4c4e7e3635296
|
@ -1,18 +0,0 @@
|
||||
[core]
|
||||
repositoryformatversion = 0
|
||||
filemode = true
|
||||
bare = false
|
||||
logallrefupdates = true
|
||||
ignorecase = true
|
||||
precomposeunicode = true
|
||||
[user]
|
||||
email = CI@example.com
|
||||
name = CI
|
||||
[remote "origin"]
|
||||
url = ../origin
|
||||
fetch = +refs/heads/*:refs/remotes/origin/*
|
||||
[branch "master"]
|
||||
remote = origin
|
||||
merge = refs/heads/master
|
||||
[pull]
|
||||
rebase = false
|
@ -1 +0,0 @@
|
||||
Unnamed repository; edit this file 'description' to name the repository.
|
Binary file not shown.
@ -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,7 +0,0 @@
|
||||
0000000000000000000000000000000000000000 7c201cb45dc62900f5f42281c1235219df5d0388 CI <CI@example.com> 1648349178 +1100 commit (initial): myfile1
|
||||
7c201cb45dc62900f5f42281c1235219df5d0388 77a75278eb08101403d727a8ecaad724f5d9dc78 CI <CI@example.com> 1648349178 +1100 commit: myfile2
|
||||
77a75278eb08101403d727a8ecaad724f5d9dc78 c7180f424ee6b59241eecffedcfa4472a86d927d CI <CI@example.com> 1648349178 +1100 commit: myfile3
|
||||
c7180f424ee6b59241eecffedcfa4472a86d927d 29c0636a86cc64292b7a6b1083c2df10de9cde6c CI <CI@example.com> 1648349178 +1100 commit: myfile4
|
||||
29c0636a86cc64292b7a6b1083c2df10de9cde6c 77a75278eb08101403d727a8ecaad724f5d9dc78 CI <CI@example.com> 1648349178 +1100 reset: moving to HEAD~2
|
||||
77a75278eb08101403d727a8ecaad724f5d9dc78 4db288af7bc797a3819441c734a4c4e7e3635296 CI <CI@example.com> 1648349178 +1100 commit: myfile4 conflict
|
||||
4db288af7bc797a3819441c734a4c4e7e3635296 c25833e74799f64c317fe3f112f934fcc57b71f9 CI <CI@example.com> 1648349183 +1100 commit (merge): Merge branch 'master' of ../origin
|
@ -1,7 +0,0 @@
|
||||
0000000000000000000000000000000000000000 7c201cb45dc62900f5f42281c1235219df5d0388 CI <CI@example.com> 1648349178 +1100 commit (initial): myfile1
|
||||
7c201cb45dc62900f5f42281c1235219df5d0388 77a75278eb08101403d727a8ecaad724f5d9dc78 CI <CI@example.com> 1648349178 +1100 commit: myfile2
|
||||
77a75278eb08101403d727a8ecaad724f5d9dc78 c7180f424ee6b59241eecffedcfa4472a86d927d CI <CI@example.com> 1648349178 +1100 commit: myfile3
|
||||
c7180f424ee6b59241eecffedcfa4472a86d927d 29c0636a86cc64292b7a6b1083c2df10de9cde6c CI <CI@example.com> 1648349178 +1100 commit: myfile4
|
||||
29c0636a86cc64292b7a6b1083c2df10de9cde6c 77a75278eb08101403d727a8ecaad724f5d9dc78 CI <CI@example.com> 1648349178 +1100 reset: moving to HEAD~2
|
||||
77a75278eb08101403d727a8ecaad724f5d9dc78 4db288af7bc797a3819441c734a4c4e7e3635296 CI <CI@example.com> 1648349178 +1100 commit: myfile4 conflict
|
||||
4db288af7bc797a3819441c734a4c4e7e3635296 c25833e74799f64c317fe3f112f934fcc57b71f9 CI <CI@example.com> 1648349183 +1100 commit (merge): Merge branch 'master' of ../origin
|
@ -1 +0,0 @@
|
||||
0000000000000000000000000000000000000000 29c0636a86cc64292b7a6b1083c2df10de9cde6c CI <CI@example.com> 1648349178 +1100 fetch origin: storing head
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
xŤÎA
|
||||
Â0@Q×9Eö‚d’É$ˇ«cšÎ`ÁŘR"čííÜ~Ţâ×µµĄ[(xę»�őJ�ĐE˛Ă�p˘�9D’DC¬�Ťwyu[d§čQ„¦X<‚HU•ą*#&Ď™ćâÓlřÝën‡Ń^‡ń.nŰS.um7„9`�”íŔ9sÔcŞËźÜ´Ż.OAó9w
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x�ŽA
|
||||
Â@E]Ï)f/HÒ¦“DW=FšI±Ði¥Œ ··Gp÷y¼ß¶RæhOuw�ê9(`cITÆ„�Ž€Ò�‰¦®7BÊÄ”ÂKw_kdVîA� ÍÜ°Š›ê±Ž&÷ÙX‚¾ësÛãcˆ×Çp÷�–×âÛÊ-b"i©G–xF=NUÿSå;Í‹S´m�–Ùjø´#=]
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user