mirror of
https://github.com/jesseduffield/lazygit.git
synced 2024-11-28 09:08:41 +02:00
add integration tests for cherry picking
This commit is contained in:
parent
9351af3829
commit
74acb3e86a
@ -53,10 +53,17 @@ func (gui *Gui) modeStatuses() []modeStatus {
|
||||
{
|
||||
isActive: gui.State.Modes.CherryPicking.Active,
|
||||
description: func() string {
|
||||
copiedCount := len(gui.State.Modes.CherryPicking.CherryPickedCommits)
|
||||
text := gui.c.Tr.LcCommitsCopied
|
||||
if copiedCount == 1 {
|
||||
text = gui.c.Tr.LcCommitCopied
|
||||
}
|
||||
|
||||
return gui.withResetButton(
|
||||
fmt.Sprintf(
|
||||
"%d commits copied",
|
||||
len(gui.State.Modes.CherryPicking.CherryPickedCommits),
|
||||
"%d %s",
|
||||
copiedCount,
|
||||
text,
|
||||
),
|
||||
style.FgCyan,
|
||||
)
|
||||
|
@ -507,6 +507,8 @@ type TranslationSet struct {
|
||||
EmptyOutput string
|
||||
Patch string
|
||||
CustomPatch string
|
||||
LcCommitsCopied string
|
||||
LcCommitCopied string
|
||||
Actions Actions
|
||||
Bisect Bisect
|
||||
}
|
||||
@ -1147,6 +1149,8 @@ func EnglishTranslationSet() TranslationSet {
|
||||
EmptyOutput: "<empty output>",
|
||||
Patch: "Patch",
|
||||
CustomPatch: "Custom patch",
|
||||
LcCommitsCopied: "commits copied",
|
||||
LcCommitCopied: "commit copied",
|
||||
Actions: Actions{
|
||||
// TODO: combine this with the original keybinding descriptions (those are all in lowercase atm)
|
||||
CheckoutCommit: "Checkout commit",
|
||||
|
@ -217,7 +217,7 @@ func (self *Assert) matchString(matcher *matcher, context string, getValue func(
|
||||
}
|
||||
|
||||
func (self *Assert) assertWithRetries(test func() (bool, string)) {
|
||||
waitTimes := []int{0, 1, 5, 10, 200, 500, 1000, 2000}
|
||||
waitTimes := []int{0, 1, 5, 10, 200, 500, 1000, 2000, 4000}
|
||||
|
||||
var message string
|
||||
for _, waitTime := range waitTimes {
|
||||
|
@ -76,6 +76,11 @@ func (self *Input) Confirm() {
|
||||
self.pressKey(self.keys.Universal.Confirm)
|
||||
}
|
||||
|
||||
// i.e. same as Confirm
|
||||
func (self *Input) Enter() {
|
||||
self.pressKey(self.keys.Universal.Confirm)
|
||||
}
|
||||
|
||||
// i.e. pressing escape
|
||||
func (self *Input) Cancel() {
|
||||
self.pressKey(self.keys.Universal.Return)
|
||||
|
@ -3,59 +3,16 @@ package branch
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/shared"
|
||||
)
|
||||
|
||||
var originalFileContent = `
|
||||
This
|
||||
Is
|
||||
The
|
||||
Original
|
||||
File
|
||||
`
|
||||
|
||||
var firstChangeFileContent = `
|
||||
This
|
||||
Is
|
||||
The
|
||||
First Change
|
||||
File
|
||||
`
|
||||
|
||||
var secondChangeFileContent = `
|
||||
This
|
||||
Is
|
||||
The
|
||||
Second Change
|
||||
File
|
||||
`
|
||||
|
||||
// prepares us for a rebase that has conflicts
|
||||
var commonRebaseSetup = func(shell *Shell) {
|
||||
shell.
|
||||
NewBranch("original-branch").
|
||||
EmptyCommit("one").
|
||||
EmptyCommit("two").
|
||||
EmptyCommit("three").
|
||||
CreateFileAndAdd("file", originalFileContent).
|
||||
Commit("original").
|
||||
NewBranch("first-change-branch").
|
||||
UpdateFileAndAdd("file", firstChangeFileContent).
|
||||
Commit("first change").
|
||||
Checkout("original-branch").
|
||||
NewBranch("second-change-branch").
|
||||
UpdateFileAndAdd("file", secondChangeFileContent).
|
||||
Commit("second change").
|
||||
EmptyCommit("second-change-branch unrelated change").
|
||||
Checkout("first-change-branch")
|
||||
}
|
||||
|
||||
var Rebase = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Rebase onto another branch, deal with the conflicts.",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
commonRebaseSetup(shell)
|
||||
shared.MergeConflictsSetup(shell)
|
||||
},
|
||||
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||
input.SwitchToBranchesWindow()
|
||||
|
@ -3,6 +3,7 @@ package branch
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/shared"
|
||||
)
|
||||
|
||||
var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
@ -11,7 +12,7 @@ var RebaseAndDrop = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
commonRebaseSetup(shell)
|
||||
shared.MergeConflictsSetup(shell)
|
||||
// addin a couple additional commits so that we can drop one
|
||||
shell.EmptyCommit("to remove")
|
||||
shell.EmptyCommit("to keep")
|
||||
|
66
pkg/integration/tests/cherry_pick/cherry_pick.go
Normal file
66
pkg/integration/tests/cherry_pick/cherry_pick.go
Normal file
@ -0,0 +1,66 @@
|
||||
package cherry_pick
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var CherryPick = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Cherry pick commits from the subcommits view, without conflicts",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.
|
||||
EmptyCommit("base").
|
||||
NewBranch("first-branch").
|
||||
NewBranch("second-branch").
|
||||
Checkout("first-branch").
|
||||
EmptyCommit("one").
|
||||
EmptyCommit("two").
|
||||
Checkout("second-branch").
|
||||
EmptyCommit("three").
|
||||
EmptyCommit("four").
|
||||
Checkout("first-branch")
|
||||
},
|
||||
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||
input.SwitchToBranchesWindow()
|
||||
assert.CurrentViewName("localBranches")
|
||||
|
||||
assert.MatchSelectedLine(Contains("first-branch"))
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("second-branch"))
|
||||
|
||||
input.Enter()
|
||||
|
||||
assert.CurrentViewName("subCommits")
|
||||
assert.MatchSelectedLine(Contains("four"))
|
||||
input.PressKeys(keys.Commits.CherryPickCopy)
|
||||
assert.MatchViewContent("information", Contains("1 commit copied"))
|
||||
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("three"))
|
||||
input.PressKeys(keys.Commits.CherryPickCopy)
|
||||
assert.MatchViewContent("information", Contains("2 commits copied"))
|
||||
|
||||
input.SwitchToCommitsWindow()
|
||||
assert.CurrentViewName("commits")
|
||||
|
||||
assert.MatchSelectedLine(Contains("two"))
|
||||
input.PressKeys(keys.Commits.PasteCommits)
|
||||
assert.InAlert()
|
||||
assert.MatchCurrentViewContent(Contains("Are you sure you want to cherry-pick the copied commits onto this branch?"))
|
||||
|
||||
input.Confirm()
|
||||
assert.CurrentViewName("commits")
|
||||
assert.MatchSelectedLine(Contains("four"))
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("three"))
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("two"))
|
||||
|
||||
assert.MatchViewContent("information", Contains("2 commits copied"))
|
||||
input.PressKeys(keys.Universal.Return)
|
||||
assert.MatchViewContent("information", NotContains("commits copied"))
|
||||
},
|
||||
})
|
87
pkg/integration/tests/cherry_pick/cherry_pick_conflicts.go
Normal file
87
pkg/integration/tests/cherry_pick/cherry_pick_conflicts.go
Normal file
@ -0,0 +1,87 @@
|
||||
package cherry_pick
|
||||
|
||||
import (
|
||||
"github.com/jesseduffield/lazygit/pkg/config"
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/shared"
|
||||
)
|
||||
|
||||
var CherryPickConflicts = NewIntegrationTest(NewIntegrationTestArgs{
|
||||
Description: "Cherry pick commits from the subcommits view, with conflicts",
|
||||
ExtraCmdArgs: "",
|
||||
Skip: false,
|
||||
SetupConfig: func(config *config.AppConfig) {},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shared.MergeConflictsSetup(shell)
|
||||
},
|
||||
Run: func(shell *Shell, input *Input, assert *Assert, keys config.KeybindingConfig) {
|
||||
input.SwitchToBranchesWindow()
|
||||
assert.CurrentViewName("localBranches")
|
||||
|
||||
assert.MatchSelectedLine(Contains("first-change-branch"))
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("second-change-branch"))
|
||||
|
||||
input.Enter()
|
||||
|
||||
assert.CurrentViewName("subCommits")
|
||||
assert.MatchSelectedLine(Contains("second-change-branch unrelated change"))
|
||||
input.PressKeys(keys.Commits.CherryPickCopy)
|
||||
assert.MatchViewContent("information", Contains("1 commit copied"))
|
||||
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("second change"))
|
||||
input.PressKeys(keys.Commits.CherryPickCopy)
|
||||
assert.MatchViewContent("information", Contains("2 commits copied"))
|
||||
|
||||
input.SwitchToCommitsWindow()
|
||||
assert.CurrentViewName("commits")
|
||||
|
||||
assert.MatchSelectedLine(Contains("first change"))
|
||||
input.PressKeys(keys.Commits.PasteCommits)
|
||||
assert.InAlert()
|
||||
assert.MatchCurrentViewContent(Contains("Are you sure you want to cherry-pick the copied commits onto this branch?"))
|
||||
|
||||
input.Confirm()
|
||||
|
||||
assert.MatchCurrentViewContent(Contains("Conflicts!"))
|
||||
input.Confirm()
|
||||
|
||||
assert.CurrentViewName("files")
|
||||
assert.MatchSelectedLine(Contains("file"))
|
||||
|
||||
// not using Confirm() convenience method because I suspect we might change this
|
||||
// keybinding to something more bespoke
|
||||
input.PressKeys(keys.Universal.Confirm)
|
||||
|
||||
assert.CurrentViewName("mergeConflicts")
|
||||
// picking 'Second change'
|
||||
input.NextItem()
|
||||
input.PrimaryAction()
|
||||
|
||||
assert.InConfirm()
|
||||
assert.MatchCurrentViewContent(Contains("all merge conflicts resolved. Continue?"))
|
||||
input.Confirm()
|
||||
|
||||
assert.CurrentViewName("files")
|
||||
assert.WorkingTreeFileCount(0)
|
||||
|
||||
input.SwitchToCommitsWindow()
|
||||
assert.CurrentViewName("commits")
|
||||
|
||||
assert.MatchSelectedLine(Contains("second-change-branch unrelated change"))
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("second change"))
|
||||
// because we picked 'Second change' when resolving the conflict,
|
||||
// we now see this commit as having replaced First Change with Second Change,
|
||||
// as opposed to replacing 'Original' with 'Second change'
|
||||
assert.MatchMainViewContent(Contains("-First Change"))
|
||||
assert.MatchMainViewContent(Contains("+Second Change"))
|
||||
input.NextItem()
|
||||
assert.MatchSelectedLine(Contains("first change"))
|
||||
|
||||
assert.MatchViewContent("information", Contains("2 commits copied"))
|
||||
input.PressKeys(keys.Universal.Return)
|
||||
assert.MatchViewContent("information", NotContains("commits copied"))
|
||||
},
|
||||
})
|
1
pkg/integration/tests/shared/README.md
Normal file
1
pkg/integration/tests/shared/README.md
Normal file
@ -0,0 +1 @@
|
||||
This package contains shared helper functions for tests. It is not intended to contain any actual tests itself.
|
49
pkg/integration/tests/shared/conflicts.go
Normal file
49
pkg/integration/tests/shared/conflicts.go
Normal file
@ -0,0 +1,49 @@
|
||||
package shared
|
||||
|
||||
import (
|
||||
. "github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
)
|
||||
|
||||
var OriginalFileContent = `
|
||||
This
|
||||
Is
|
||||
The
|
||||
Original
|
||||
File
|
||||
`
|
||||
|
||||
var FirstChangeFileContent = `
|
||||
This
|
||||
Is
|
||||
The
|
||||
First Change
|
||||
File
|
||||
`
|
||||
|
||||
var SecondChangeFileContent = `
|
||||
This
|
||||
Is
|
||||
The
|
||||
Second Change
|
||||
File
|
||||
`
|
||||
|
||||
// prepares us for a rebase/merge that has conflicts
|
||||
var MergeConflictsSetup = func(shell *Shell) {
|
||||
shell.
|
||||
NewBranch("original-branch").
|
||||
EmptyCommit("one").
|
||||
EmptyCommit("two").
|
||||
EmptyCommit("three").
|
||||
CreateFileAndAdd("file", OriginalFileContent).
|
||||
Commit("original").
|
||||
NewBranch("first-change-branch").
|
||||
UpdateFileAndAdd("file", FirstChangeFileContent).
|
||||
Commit("first change").
|
||||
Checkout("original-branch").
|
||||
NewBranch("second-change-branch").
|
||||
UpdateFileAndAdd("file", SecondChangeFileContent).
|
||||
Commit("second change").
|
||||
EmptyCommit("second-change-branch unrelated change").
|
||||
Checkout("first-change-branch")
|
||||
}
|
@ -11,6 +11,7 @@ import (
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/components"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/bisect"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/branch"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/cherry_pick"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/commit"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/custom_commands"
|
||||
"github.com/jesseduffield/lazygit/pkg/integration/tests/interactive_rebase"
|
||||
@ -33,6 +34,8 @@ var tests = []*components.IntegrationTest{
|
||||
custom_commands.MenuFromCommand,
|
||||
bisect.Basic,
|
||||
bisect.FromOtherBranch,
|
||||
cherry_pick.CherryPick,
|
||||
cherry_pick.CherryPickConflicts,
|
||||
}
|
||||
|
||||
func GetTests() []*components.IntegrationTest {
|
||||
@ -55,6 +58,11 @@ func GetTests() []*components.IntegrationTest {
|
||||
return nil
|
||||
}
|
||||
|
||||
// the shared directory won't itself contain tests: only shared helper functions
|
||||
if filepath.Base(filepath.Dir(path)) == "shared" {
|
||||
return nil
|
||||
}
|
||||
|
||||
nameFromPath := components.TestNameFromFilePath(path)
|
||||
if !testNamesSet.Includes(nameFromPath) {
|
||||
missingTestNames = append(missingTestNames, nameFromPath)
|
||||
|
@ -1,15 +0,0 @@
|
||||
fourth commit on develop
|
||||
|
||||
# Please enter the commit message for your changes. Lines starting
|
||||
# with '#' will be ignored, and an empty message aborts the commit.
|
||||
#
|
||||
# interactive rebase in progress; onto 696a8fd
|
||||
# Last commands done (2 commands done):
|
||||
# pick 234e2fa third commit on develop
|
||||
# pick 0556e5d fourth commit on develop
|
||||
# No commands remaining.
|
||||
# You are currently rebasing branch 'other_branch' on '696a8fd'.
|
||||
#
|
||||
# Changes to be committed:
|
||||
# modified: file5
|
||||
#
|
@ -1 +0,0 @@
|
||||
ref: refs/heads/other_branch
|
@ -1 +0,0 @@
|
||||
696a8fd43c580b3bed203977faab4566b052a4e4
|
@ -1 +0,0 @@
|
||||
0556e5da1cda4e150d6cc1182be6efdb061f59fe
|
Binary file not shown.
@ -1,40 +0,0 @@
|
||||
0000000000000000000000000000000000000000 2cf63d6da8c52131dd79622f8572b44a1267e420 CI <CI@example.com> 1617673072 +1000 commit (initial): first commit
|
||||
2cf63d6da8c52131dd79622f8572b44a1267e420 2cf63d6da8c52131dd79622f8572b44a1267e420 CI <CI@example.com> 1617673072 +1000 checkout: moving from master to feature/cherry-picking
|
||||
2cf63d6da8c52131dd79622f8572b44a1267e420 e4aa98b835d0a871d9ea02e6d286f0fbb2204cdc CI <CI@example.com> 1617673072 +1000 commit: first commit freshman year
|
||||
e4aa98b835d0a871d9ea02e6d286f0fbb2204cdc ef029771f117b5f31c972dfa546037662e243ca7 CI <CI@example.com> 1617673072 +1000 commit: second commit subway eat fresh
|
||||
ef029771f117b5f31c972dfa546037662e243ca7 2493c87610e0a9b8edfca592cb01a027f60ce587 CI <CI@example.com> 1617673072 +1000 commit: third commit fresh
|
||||
2493c87610e0a9b8edfca592cb01a027f60ce587 d8e5ca46d2bbd7c115e5849e637efe2361203368 CI <CI@example.com> 1617673072 +1000 commit: fourth commit cool
|
||||
d8e5ca46d2bbd7c115e5849e637efe2361203368 78a5ec82970200538b70f5ac61c18acb45ccb8ee CI <CI@example.com> 1617673072 +1000 commit: fifth commit nice
|
||||
78a5ec82970200538b70f5ac61c18acb45ccb8ee 19079c78db18112c5a2720896a040014a2d05f6d CI <CI@example.com> 1617673072 +1000 commit: sixth commit haha
|
||||
19079c78db18112c5a2720896a040014a2d05f6d 4520f99d650662a3f597a200fea5f2599f528180 CI <CI@example.com> 1617673072 +1000 commit: seventh commit yeah
|
||||
4520f99d650662a3f597a200fea5f2599f528180 9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048 CI <CI@example.com> 1617673072 +1000 commit: eighth commit woo
|
||||
9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048 9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048 CI <CI@example.com> 1617673072 +1000 checkout: moving from feature/cherry-picking to develop
|
||||
9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048 7923e4a952f4b169373b0389be6a9db3cd929547 CI <CI@example.com> 1617673072 +1000 commit: first commit on develop
|
||||
7923e4a952f4b169373b0389be6a9db3cd929547 2cf63d6da8c52131dd79622f8572b44a1267e420 CI <CI@example.com> 1617673072 +1000 checkout: moving from develop to master
|
||||
2cf63d6da8c52131dd79622f8572b44a1267e420 bfcc5725cd2ef871ff804996f4e02beef3e4dec2 CI <CI@example.com> 1617673072 +1000 commit: first commit on master
|
||||
bfcc5725cd2ef871ff804996f4e02beef3e4dec2 7923e4a952f4b169373b0389be6a9db3cd929547 CI <CI@example.com> 1617673072 +1000 checkout: moving from master to develop
|
||||
7923e4a952f4b169373b0389be6a9db3cd929547 7317cf7580efd92f974c8dfb3cde84eded8dafec CI <CI@example.com> 1617673072 +1000 commit: second commit on develop
|
||||
7317cf7580efd92f974c8dfb3cde84eded8dafec bfcc5725cd2ef871ff804996f4e02beef3e4dec2 CI <CI@example.com> 1617673072 +1000 checkout: moving from develop to master
|
||||
bfcc5725cd2ef871ff804996f4e02beef3e4dec2 f4ffac820a371104fe611d81bc13a45b70a3ebb3 CI <CI@example.com> 1617673072 +1000 commit: second commit on master
|
||||
f4ffac820a371104fe611d81bc13a45b70a3ebb3 7317cf7580efd92f974c8dfb3cde84eded8dafec CI <CI@example.com> 1617673072 +1000 checkout: moving from master to develop
|
||||
7317cf7580efd92f974c8dfb3cde84eded8dafec 234e2fa9a01b8d7e849b0c2a1bbd550e788ea18d CI <CI@example.com> 1617673072 +1000 commit: third commit on develop
|
||||
234e2fa9a01b8d7e849b0c2a1bbd550e788ea18d f4ffac820a371104fe611d81bc13a45b70a3ebb3 CI <CI@example.com> 1617673072 +1000 checkout: moving from develop to master
|
||||
f4ffac820a371104fe611d81bc13a45b70a3ebb3 facb56c48e4718f71c08116153c93d87bc699671 CI <CI@example.com> 1617673072 +1000 commit: third commit on master
|
||||
facb56c48e4718f71c08116153c93d87bc699671 234e2fa9a01b8d7e849b0c2a1bbd550e788ea18d CI <CI@example.com> 1617673072 +1000 checkout: moving from master to develop
|
||||
234e2fa9a01b8d7e849b0c2a1bbd550e788ea18d 0556e5da1cda4e150d6cc1182be6efdb061f59fe CI <CI@example.com> 1617673072 +1000 commit: fourth commit on develop
|
||||
0556e5da1cda4e150d6cc1182be6efdb061f59fe facb56c48e4718f71c08116153c93d87bc699671 CI <CI@example.com> 1617673072 +1000 checkout: moving from develop to master
|
||||
facb56c48e4718f71c08116153c93d87bc699671 339e2d062760be9ecdb4bb90f97bdb0e634e7831 CI <CI@example.com> 1617673072 +1000 commit: fourth commit on master
|
||||
339e2d062760be9ecdb4bb90f97bdb0e634e7831 339e2d062760be9ecdb4bb90f97bdb0e634e7831 CI <CI@example.com> 1617673072 +1000 checkout: moving from master to base_branch
|
||||
339e2d062760be9ecdb4bb90f97bdb0e634e7831 5d2484f3cb6ce658e296526c48e1a376b2790dfc CI <CI@example.com> 1617673072 +1000 commit: file
|
||||
5d2484f3cb6ce658e296526c48e1a376b2790dfc 5d2484f3cb6ce658e296526c48e1a376b2790dfc CI <CI@example.com> 1617673072 +1000 checkout: moving from base_branch to other_branch
|
||||
5d2484f3cb6ce658e296526c48e1a376b2790dfc 5d2484f3cb6ce658e296526c48e1a376b2790dfc CI <CI@example.com> 1617673072 +1000 checkout: moving from other_branch to base_branch
|
||||
5d2484f3cb6ce658e296526c48e1a376b2790dfc 68728b56ed31d03ca94496b9e2a45c62ba0f4e8f CI <CI@example.com> 1617673072 +1000 commit: file changed
|
||||
68728b56ed31d03ca94496b9e2a45c62ba0f4e8f 5d2484f3cb6ce658e296526c48e1a376b2790dfc CI <CI@example.com> 1617673072 +1000 checkout: moving from base_branch to other_branch
|
||||
5d2484f3cb6ce658e296526c48e1a376b2790dfc 5d2484f3cb6ce658e296526c48e1a376b2790dfc CI <CI@example.com> 1617673078 +1000 rebase -i (start): checkout HEAD
|
||||
5d2484f3cb6ce658e296526c48e1a376b2790dfc 65c0438e428cd1aa94588eaa52eb7ebad7ec62fd CI <CI@example.com> 1617673078 +1000 rebase -i (pick): second commit subway eat fresh
|
||||
65c0438e428cd1aa94588eaa52eb7ebad7ec62fd 16f2bcca6ce7bcc17277103a5555072a6c3322a2 CI <CI@example.com> 1617673078 +1000 rebase -i (pick): third commit fresh
|
||||
16f2bcca6ce7bcc17277103a5555072a6c3322a2 696a8fd43c580b3bed203977faab4566b052a4e4 CI <CI@example.com> 1617673078 +1000 rebase -i (pick): fourth commit cool
|
||||
696a8fd43c580b3bed203977faab4566b052a4e4 696a8fd43c580b3bed203977faab4566b052a4e4 CI <CI@example.com> 1617673078 +1000 rebase -i (finish): returning to refs/heads/other_branch
|
||||
696a8fd43c580b3bed203977faab4566b052a4e4 696a8fd43c580b3bed203977faab4566b052a4e4 CI <CI@example.com> 1617673084 +1000 rebase -i (start): checkout HEAD
|
||||
696a8fd43c580b3bed203977faab4566b052a4e4 b8ab98a9ab0599193a3f41a9cc5cb988283e6722 CI <CI@example.com> 1617673088 +1000 rebase -i (continue): fourth commit on develop
|
||||
b8ab98a9ab0599193a3f41a9cc5cb988283e6722 b8ab98a9ab0599193a3f41a9cc5cb988283e6722 CI <CI@example.com> 1617673088 +1000 rebase -i (finish): returning to refs/heads/other_branch
|
@ -1,3 +0,0 @@
|
||||
0000000000000000000000000000000000000000 339e2d062760be9ecdb4bb90f97bdb0e634e7831 CI <CI@example.com> 1617673072 +1000 branch: Created from HEAD
|
||||
339e2d062760be9ecdb4bb90f97bdb0e634e7831 5d2484f3cb6ce658e296526c48e1a376b2790dfc CI <CI@example.com> 1617673072 +1000 commit: file
|
||||
5d2484f3cb6ce658e296526c48e1a376b2790dfc 68728b56ed31d03ca94496b9e2a45c62ba0f4e8f CI <CI@example.com> 1617673072 +1000 commit: file changed
|
@ -1,5 +0,0 @@
|
||||
0000000000000000000000000000000000000000 9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048 CI <CI@example.com> 1617673072 +1000 branch: Created from HEAD
|
||||
9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048 7923e4a952f4b169373b0389be6a9db3cd929547 CI <CI@example.com> 1617673072 +1000 commit: first commit on develop
|
||||
7923e4a952f4b169373b0389be6a9db3cd929547 7317cf7580efd92f974c8dfb3cde84eded8dafec CI <CI@example.com> 1617673072 +1000 commit: second commit on develop
|
||||
7317cf7580efd92f974c8dfb3cde84eded8dafec 234e2fa9a01b8d7e849b0c2a1bbd550e788ea18d CI <CI@example.com> 1617673072 +1000 commit: third commit on develop
|
||||
234e2fa9a01b8d7e849b0c2a1bbd550e788ea18d 0556e5da1cda4e150d6cc1182be6efdb061f59fe CI <CI@example.com> 1617673072 +1000 commit: fourth commit on develop
|
@ -1,9 +0,0 @@
|
||||
0000000000000000000000000000000000000000 2cf63d6da8c52131dd79622f8572b44a1267e420 CI <CI@example.com> 1617673072 +1000 branch: Created from HEAD
|
||||
2cf63d6da8c52131dd79622f8572b44a1267e420 e4aa98b835d0a871d9ea02e6d286f0fbb2204cdc CI <CI@example.com> 1617673072 +1000 commit: first commit freshman year
|
||||
e4aa98b835d0a871d9ea02e6d286f0fbb2204cdc ef029771f117b5f31c972dfa546037662e243ca7 CI <CI@example.com> 1617673072 +1000 commit: second commit subway eat fresh
|
||||
ef029771f117b5f31c972dfa546037662e243ca7 2493c87610e0a9b8edfca592cb01a027f60ce587 CI <CI@example.com> 1617673072 +1000 commit: third commit fresh
|
||||
2493c87610e0a9b8edfca592cb01a027f60ce587 d8e5ca46d2bbd7c115e5849e637efe2361203368 CI <CI@example.com> 1617673072 +1000 commit: fourth commit cool
|
||||
d8e5ca46d2bbd7c115e5849e637efe2361203368 78a5ec82970200538b70f5ac61c18acb45ccb8ee CI <CI@example.com> 1617673072 +1000 commit: fifth commit nice
|
||||
78a5ec82970200538b70f5ac61c18acb45ccb8ee 19079c78db18112c5a2720896a040014a2d05f6d CI <CI@example.com> 1617673072 +1000 commit: sixth commit haha
|
||||
19079c78db18112c5a2720896a040014a2d05f6d 4520f99d650662a3f597a200fea5f2599f528180 CI <CI@example.com> 1617673072 +1000 commit: seventh commit yeah
|
||||
4520f99d650662a3f597a200fea5f2599f528180 9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048 CI <CI@example.com> 1617673072 +1000 commit: eighth commit woo
|
@ -1,5 +0,0 @@
|
||||
0000000000000000000000000000000000000000 2cf63d6da8c52131dd79622f8572b44a1267e420 CI <CI@example.com> 1617673072 +1000 commit (initial): first commit
|
||||
2cf63d6da8c52131dd79622f8572b44a1267e420 bfcc5725cd2ef871ff804996f4e02beef3e4dec2 CI <CI@example.com> 1617673072 +1000 commit: first commit on master
|
||||
bfcc5725cd2ef871ff804996f4e02beef3e4dec2 f4ffac820a371104fe611d81bc13a45b70a3ebb3 CI <CI@example.com> 1617673072 +1000 commit: second commit on master
|
||||
f4ffac820a371104fe611d81bc13a45b70a3ebb3 facb56c48e4718f71c08116153c93d87bc699671 CI <CI@example.com> 1617673072 +1000 commit: third commit on master
|
||||
facb56c48e4718f71c08116153c93d87bc699671 339e2d062760be9ecdb4bb90f97bdb0e634e7831 CI <CI@example.com> 1617673072 +1000 commit: fourth commit on master
|
@ -1,3 +0,0 @@
|
||||
0000000000000000000000000000000000000000 5d2484f3cb6ce658e296526c48e1a376b2790dfc CI <CI@example.com> 1617673072 +1000 branch: Created from HEAD
|
||||
5d2484f3cb6ce658e296526c48e1a376b2790dfc 696a8fd43c580b3bed203977faab4566b052a4e4 CI <CI@example.com> 1617673078 +1000 rebase -i (finish): refs/heads/other_branch onto 5d2484f3cb6ce658e296526c48e1a376b2790dfc
|
||||
696a8fd43c580b3bed203977faab4566b052a4e4 b8ab98a9ab0599193a3f41a9cc5cb988283e6722 CI <CI@example.com> 1617673088 +1000 rebase -i (finish): refs/heads/other_branch onto 696a8fd43c580b3bed203977faab4566b052a4e4
|
Binary file not shown.
Binary file not shown.
@ -1,4 +0,0 @@
|
||||
x…ÎË
|
||||
Â0…a×yŠÙ’Lšˆ]õ1&É„
|
||||
Æ–ÁÇ7 {·‡ÿƒ“¶ZoPšCoÌ€
|
||||
}ÒIg.ÊgËHÚ‡`,9ÚÉ›’XŠ�?:X“ä¤=OƒeE&ã=äè8Rvœì ‚^}ÝÌœçåÊoªû�Oi«PV9ë´tG%¥c§:ÿÉý/}½µ_¥ñsèÿ?�
|
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,2 +0,0 @@
|
||||
x�ŽA
|
||||
ƒ0E»Î)f_(3&:J)¸ò13AA�HZzüz�nÿñ_ÌÛ¶h/åTßzá@(�)Ääy"¶ˆ“Ã`'—,z´Š>š#œº`K·=jßTÁÅ^Òd£hïTTz I£ ¯2ç†îÃøÔOØŽUo1o Ž¸«/ÜÀ•ÑTZ£Šþ97e^N�ŸyÑ·®ù0_-Ax
|
Binary file not shown.
@ -1,3 +0,0 @@
|
||||
x�ŽK
|
||||
Â0@]ç³d2ùŒ¡«#™L¨`m‰<¾/àöñ<Y—åÞ�0zS…rN,‹¤ì)SŽ¤A˜¥ˆŠFÂâ†èsñfKMŸ´"
̶ZË9Tge`*5ÑqÜsòN›ôîóÚ`œà2N7ý¤e{èIÖå
|
||||
6ZŽì� ŽÍN÷©®ê¦Ï÷VàWAmúšÍÌó>Õ
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
xŤÎM
|
||||
Ă †á®=ĹěĹÉŹŁPJ!«CÇ‘j
Ö@Ź_ˇčöă}ŕă’óŁÁ€úÔŞŚÓ„E’36±›‘’ö1yëC’Gµű*ŻÉs�
OV&B›Y[ě~ŮŤŃR`ăś!Tţh[©°¬p]Ö»||Ţźrá’oĐs24jŕŚZkŐ×~ŞÉźąJĺ¨m��ň‚ěß]«/ů@Ö
|
Binary file not shown.
Binary file not shown.
@ -1 +0,0 @@
|
||||
x}�Ë €0=§Š ÉQAÁ6¢>1`|’�¶o w縳ËÉj¥«¶€yFÁ×JH7_0ˆÖâAžðš�‡ƒ} ÑþUÇ)«}�ÒÔìFJ™{ÖoXÙ9‘o6zèä[|GÊ,Î
|
@ -1,3 +0,0 @@
|
||||
x�ŽK
|
||||
Â0@]ç³dfÚü@DèÊcL’)Œ-5ŠÞÞ‚pûx^žk½6`t»¶ªBA‡£gvžlköi”Â)H¤$¥ÄØ™EV½7 ˆ>fJ¢@ÄÙ
|
||||
{Æ�`�H½pA;ºbäÙ¦y…áÇárÖ·Ô妇<×�#ï|‡žaOˆh6ºM5ýS7}m/ü:ø¨LæQR>8
|
@ -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Ã
|
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 @@
|
||||
x�ÎA
|
||||
à @Ñ®=…ûBщÎ(”RÈ*ÇÐql5 ÁB�ß¡ÛÏ[|ÞZ[º¶1^ú!¢«uÈT)rD�m*†kL’Åyap@LE@íé�µk_ÀWÎÈ‚>Dô€ì‚Ø4f hJe•>}Þ=Nú>NOù¦¶¿åÆ[{h‹–�C ¯Ö£ÎzNuù“«º¼EóœÖ—õY{<–
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
xŤŽK
|
||||
Â0@]çłd’Ióˇ«#ÉLQ0M©Q<ľ/ŕöńĽŇj˝w0Zú&3“.’Ľ`v�Čš€YČrĚÁćD�^i“Ą�Ź†Ä¦8�Ůfí"yĘH!fq)r¦ÂŃÄÁz•^ýÖ6'8ŹÓU>©®9•V/ ťöÎzGŤ�j§űT—?uő”҆_m–·<ÚŞľ/:@ë
|
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x█▌I
|
||||
б@]В)Ч^░ъC~w@Dх*гХА5 ≤│п┌г7ЮэUPy[√╧▒awi@Vю╗²исC\8{]PSLбБ┼)1d╣гkёпЕХ╓≤■┼оZwХ┌;;КQa╛hцжJPЯщ╕М═a╓Ш0>Я┴кЧб-oк┐╢h/ч╡7tул╛NzN5Э╘╚:в6я╞╒uнP_┼?>c
|
@ -1,3 +0,0 @@
|
||||
x�ŽK
|
||||
Â0@]ç³dÒLó¡«#™N°Ð6%Fñø¼€ÛÇ{ð¸¬ëÜ ÓxjU:²Ù‘w‚^¬1Èœ„ {#µ¦~êM¶4‘Úc•AHÉó\ÐÄ^|tÉG+ls Ćɫøj�Raá:ŒwùÄu_äÂe½�¶ÚYgÐupÖˆ¨zL5ùSWy®Ï¿
|
||||
Ê“¼e)»ú˜f@f
|
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.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x�ÎM
|
||||
Â0†a×9ÅìI&?“€ˆÐU�‘¦,SÒ߀pûñ>ð¥ZÊÖe8õÆ6k66øŸf™ƒ�ÆOFs �N³{lü0e§W·FŸ,*Ö•‚CÌÞ.ÆD…ŽØ ñݵÁ4Ãušïü‰eò%Õrå9Ò’ÎJJ)Æ:Nuþ3ykG‡Ÿ‚ú‚��Å�¼>¢
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x��A
|
||||
Γ D»φξεkΏB)…¬r�QH!©!θρ+τ]
ΜΌ“Κ¶½�¶4\κ!Ά3ΨΒεμζ ‡υΤ΅Kήqί1Ά70¤vςnbΪΚΞ�Bτ’η„!ΨΙ€,Ο�’�ΞΊ”C�“Ύ�ΣS>ΨφUn©lm�aΗ±ΥWCD�µνT•?q5—σ¨‹ώi-Κ�ΎΛ?
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
xĺ�Ń €0Cýî™ ?Š3¸ĆµV¨=iOÄí=Ŕü�„äă…,ý8tWĆÚ@h*ő‚&R$jĚ*y¶¨Ę‘s-Üś”Č8v)¶Ňu㧱—ÓV„HęĽ÷żŇ�"ťË
µćPż
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x�ŽA
|
||||
1=çs$™ÄdaOûŒÙIãJŒ ¿wÁx-ºšÒ¥Ök'v~Ó@Udw€"°ÙŽ˜=„Uç8HÌC%ú³º_O\Îé™Ë°O<‡ ŽcB`käÕ/K£q¢ã8�ñ–ú¸a§K=‘‹.ÅämbÚ:kYéÕñçÜ”k{vúYTž—*wú@šù{/BÒ
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x}ÍK
|
||||
€ …áĆ®â¬@Š°QAAŰčqĂ ˝bZŰOpŢ7<üpÖ‹WTµ*Úó4Ś‚íF�Ž-„Ó‚&Ox—;
šýM˘ËţSĂ1Ą}†R©†Ô.ĄÄÁŃŤŤŤ9ŇĎN]ěÄs-#
|
Binary file not shown.
Binary file not shown.
@ -1,2 +0,0 @@
|
||||
x�ŽA
|
||||
Â0E]ç³d¦I“D„®zŒI:¡cJŒàñ
x·ÿ½?–œ÷N§VE` ç9¹õ¤½µ£÷DÎ �‚˜ÕøÄÆk1œÔÁUž
’I‰£�µ#B“ÄžB$Íf® A+~·T˜¸ÎË]>œ�‡\bÉ7 KÎ:�n€3!¢êk?ÕäO]µm¯+ü*(OÈüê±úèë?X
|
Binary file not shown.
@ -1 +0,0 @@
|
||||
68728b56ed31d03ca94496b9e2a45c62ba0f4e8f
|
@ -1 +0,0 @@
|
||||
0556e5da1cda4e150d6cc1182be6efdb061f59fe
|
@ -1 +0,0 @@
|
||||
9bb8cd97914c8e8a7b8a6ec6f94bca0b09fa0048
|
@ -1 +0,0 @@
|
||||
339e2d062760be9ecdb4bb90f97bdb0e634e7831
|
@ -1 +0,0 @@
|
||||
b8ab98a9ab0599193a3f41a9cc5cb988283e6722
|
@ -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
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user