1
0
mirror of https://github.com/jesseduffield/lazygit.git synced 2025-04-13 11:50:28 +02:00

migrate test for rename branch and pull

This commit is contained in:
Jesse Duffield 2022-12-28 17:52:04 +11:00
parent 277ca706eb
commit 6f709456fe
52 changed files with 64 additions and 111 deletions

View File

@ -193,3 +193,9 @@ func (self *Shell) RemoveRemoteBranch(remoteName string, branch string) *Shell {
return self
}
func (self *Shell) HardReset(ref string) *Shell {
self.RunCommand(fmt.Sprintf("git reset --hard %s", ref))
return self
}

View File

@ -0,0 +1,57 @@
package sync
import (
"github.com/jesseduffield/lazygit/pkg/config"
. "github.com/jesseduffield/lazygit/pkg/integration/components"
)
var RenameBranchAndPull = NewIntegrationTest(NewIntegrationTestArgs{
Description: "Rename a branch to no longer match its upstream, then pull from the upstream",
ExtraCmdArgs: "",
Skip: false,
SetupConfig: func(config *config.AppConfig) {
config.UserConfig.Git.AutoFetch = false
},
SetupRepo: func(shell *Shell) {
shell.EmptyCommit("one")
shell.EmptyCommit("two")
shell.CloneIntoRemote("origin")
shell.SetBranchUpstream("master", "origin/master")
// remove the 'two' commit so that we have something to pull from the remote
shell.HardReset("HEAD^")
},
Run: func(t *TestDriver, keys config.KeybindingConfig) {
t.Views().Commits().
Lines(
Contains("one"),
)
t.Views().Branches().
Focus().
Lines(
Contains("master"),
).
Press(keys.Branches.RenameBranch).
Tap(func() {
t.ExpectPopup().Confirmation().
Title(Equals("rename branch")).
Content(Equals("This branch is tracking a remote. This action will only rename the local branch name, not the name of the remote branch. Continue?")).
Confirm()
t.ExpectPopup().Prompt().
Title(Contains("Enter new branch name")).
InitialText(Equals("master")).
Type("-local").
Confirm()
}).
Press(keys.Universal.PullFiles)
t.Views().Commits().
Lines(
Contains("two"),
Contains("one"),
)
},
})

View File

@ -66,6 +66,7 @@ var tests = []*components.IntegrationTest{
diff.DiffAndApplyPatch,
diff.DiffCommits,
sync.FetchPrune,
sync.RenameBranchAndPull,
}
func GetTests() []*components.IntegrationTest {

View File

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

View File

@ -1,6 +0,0 @@
[core]
repositoryformatversion = 0
filemode = true
bare = true
[remote "origin"]
url = /home/mark/Downloads/gits/lazygit/test/integration/fetchRemoteBranchWithNonmatchingName/actual/./repo

View File

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

View File

@ -1,6 +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]
# *~

View File

@ -1,3 +0,0 @@
x�ÍA
Â0@Q×9Å왉ÓI
"BW=FšL°Ð!R"èííÜ~üÜÌÖÄrê»* J®˜d £Æ¬¥Dò‰jà…¯E¸¦<x—ÞýÙv˜f¸MóC?É^›^r³;� L9ŒpF�èŽzLºþÉ�}ëº)¹2ê,Ó

View File

@ -1,2 +0,0 @@
x�ŽA
à E»öî ÅqÆD!”BV9†Ž# Ä& ííëºúðyïóy¯um]Ú)¢m‚Ù� !–HXJÌ€Åö Á²ëÉ¢ŽxÊ«‹6£Gœ t~L‘†.$è£Òñ� ßí¹Ÿz^ô4/ùÄzlrã½Þ5 ŽÀxƒ¾kŒêm?ÕäO\ÕoY7Aõñ?:l

View File

@ -1,2 +0,0 @@
# pack-refs with: peeled fully-peeled sorted
b090d7f0029e74de260f7458721b8edd1e618edc refs/heads/master

View File

@ -1 +0,0 @@
b090d7f0029e74de260f7458721b8edd1e618edc branch 'master' of ../origin

View File

@ -1 +0,0 @@
ref: refs/heads/master-local

View File

@ -1 +0,0 @@
12d38e54cd419303587ba4613fb1194ec5c9d04f

View File

@ -1,14 +0,0 @@
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[user]
email = CI@example.com
name = CI
[remote "origin"]
url = ../origin
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master-local"]
remote = origin
merge = refs/heads/master

View File

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

View File

@ -1,6 +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]
# *~

View File

@ -1,8 +0,0 @@
0000000000000000000000000000000000000000 3e5a250f3b6d2ea4ea93b3006aaceeb75bb8d0b6 CI <CI@example.com> 1654108479 +0200 commit (initial): myfile1
3e5a250f3b6d2ea4ea93b3006aaceeb75bb8d0b6 12d38e54cd419303587ba4613fb1194ec5c9d04f CI <CI@example.com> 1654108479 +0200 commit: myfile2
12d38e54cd419303587ba4613fb1194ec5c9d04f 72ee6cc86de71389b9c70e24c7d8c8837e7d3566 CI <CI@example.com> 1654108479 +0200 commit: myfile3
72ee6cc86de71389b9c70e24c7d8c8837e7d3566 b090d7f0029e74de260f7458721b8edd1e618edc CI <CI@example.com> 1654108479 +0200 commit: myfile4
b090d7f0029e74de260f7458721b8edd1e618edc 12d38e54cd419303587ba4613fb1194ec5c9d04f CI <CI@example.com> 1654108479 +0200 reset: moving to HEAD~2
12d38e54cd419303587ba4613fb1194ec5c9d04f 0000000000000000000000000000000000000000 CI <CI@example.com> 1654108482 +0200 Branch: renamed refs/heads/master to refs/heads/master-local
0000000000000000000000000000000000000000 12d38e54cd419303587ba4613fb1194ec5c9d04f CI <CI@example.com> 1654108482 +0200 Branch: renamed refs/heads/master to refs/heads/master-local
12d38e54cd419303587ba4613fb1194ec5c9d04f b090d7f0029e74de260f7458721b8edd1e618edc CI <CI@example.com> 1654108482 +0200 pull --no-edit --ff-only origin master: Fast-forward

View File

@ -1,7 +0,0 @@
0000000000000000000000000000000000000000 3e5a250f3b6d2ea4ea93b3006aaceeb75bb8d0b6 CI <CI@example.com> 1654108479 +0200 commit (initial): myfile1
3e5a250f3b6d2ea4ea93b3006aaceeb75bb8d0b6 12d38e54cd419303587ba4613fb1194ec5c9d04f CI <CI@example.com> 1654108479 +0200 commit: myfile2
12d38e54cd419303587ba4613fb1194ec5c9d04f 72ee6cc86de71389b9c70e24c7d8c8837e7d3566 CI <CI@example.com> 1654108479 +0200 commit: myfile3
72ee6cc86de71389b9c70e24c7d8c8837e7d3566 b090d7f0029e74de260f7458721b8edd1e618edc CI <CI@example.com> 1654108479 +0200 commit: myfile4
b090d7f0029e74de260f7458721b8edd1e618edc 12d38e54cd419303587ba4613fb1194ec5c9d04f CI <CI@example.com> 1654108479 +0200 reset: moving to HEAD~2
12d38e54cd419303587ba4613fb1194ec5c9d04f 12d38e54cd419303587ba4613fb1194ec5c9d04f CI <CI@example.com> 1654108482 +0200 Branch: renamed refs/heads/master to refs/heads/master-local
12d38e54cd419303587ba4613fb1194ec5c9d04f b090d7f0029e74de260f7458721b8edd1e618edc CI <CI@example.com> 1654108482 +0200 pull --no-edit --ff-only origin master: Fast-forward

View File

@ -1 +0,0 @@
0000000000000000000000000000000000000000 b090d7f0029e74de260f7458721b8edd1e618edc CI <CI@example.com> 1654108479 +0200 fetch origin: storing head

View File

@ -1,3 +0,0 @@
x�ÍA
Â0@Q×9Å왉ÓI
"BW=FšL°Ð!R"èííÜ~üÜÌÖÄrê»* J®˜d £Æ¬¥Dò‰jà…¯E¸¦<x—ÞýÙv˜f¸MóC?É^›^r³;� L9ŒpF�èŽzLºþÉ�}ëº)¹2ê,Ó

View File

@ -1,2 +0,0 @@
x�ŽA
à E»öî ÅqÆD!”BV9†Ž# Ä& ííëºúðyïóy¯um]Ú)¢m‚Ù� !–HXJÌ€Åö Á²ëÉ¢ŽxÊ«‹6£Gœ t~L‘†.$è£Òñ� ßí¹Ÿz^ô4/ùÄzlrã½Þ5 ŽÀxƒ¾kŒêm?ÕäO\ÕoY7Aõñ?:l

View File

@ -1 +0,0 @@
b090d7f0029e74de260f7458721b8edd1e618edc

View File

@ -1 +0,0 @@
{"KeyEvents":[{"Timestamp":703,"Mod":0,"Key":256,"Ch":108},{"Timestamp":1151,"Mod":0,"Key":256,"Ch":82},{"Timestamp":1692,"Mod":0,"Key":13,"Ch":13},{"Timestamp":2183,"Mod":0,"Key":256,"Ch":45},{"Timestamp":2372,"Mod":0,"Key":256,"Ch":108},{"Timestamp":2498,"Mod":0,"Key":256,"Ch":111},{"Timestamp":2617,"Mod":0,"Key":256,"Ch":99},{"Timestamp":2663,"Mod":0,"Key":256,"Ch":97},{"Timestamp":2724,"Mod":0,"Key":256,"Ch":108},{"Timestamp":3196,"Mod":0,"Key":13,"Ch":13},{"Timestamp":3837,"Mod":0,"Key":256,"Ch":102},{"Timestamp":4854,"Mod":0,"Key":256,"Ch":113}],"ResizeEvents":[{"Timestamp":0,"Width":213,"Height":56}]}

View File

@ -1,36 +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
git remote add origin ../origin
git fetch origin
git branch --set-upstream-to=origin/master

View File

@ -1 +0,0 @@
{ "description": "allow unsetting the upstream of the current branch", "speed": 10 }