mirror of
https://github.com/jesseduffield/lazygit.git
synced 2025-05-11 20:36:03 +02:00
Update interactive rebase demo
I'm adding an explicit delay between moving the commits and selecting the next items because otherwise it happens too fast
This commit is contained in:
parent
3675570a39
commit
c3f0b5cb4a
3 changed files with 24 additions and 11 deletions
|
@ -114,10 +114,12 @@ Press space on the selected line to stage it, or press `v` to start selecting a
|
|||
|
||||
### Interactive Rebase
|
||||
|
||||
Press `e` on a commit to start an interactive rebase on it: causing all above commits to become part of the TODO file. Then squash (`s`), fixup (`f`), drop (`d`), edit (`e`), move up (`ctrl+i`) or move down (`ctrl+j`) any of TODO commits, before continuing the rebase by bringing up the rebase options menu with `m` and then selecting `continue`.
|
||||
Press `i` to start an interactive rebase. Then squash (`s`), fixup (`f`), drop (`d`), edit (`e`), move up (`ctrl+i`) or move down (`ctrl+j`) any of TODO commits, before continuing the rebase by bringing up the rebase options menu with `m` and then selecting `continue`.
|
||||
|
||||
You can also perform any these actions as a once-off (e.g. pressing `s` on a commit to squash it) without explicitly starting a rebase.
|
||||
|
||||
This demo also uses shift+down to select a range of commits to move and fixup.
|
||||
|
||||

|
||||
|
||||
### Cherry-pick
|
||||
|
@ -314,6 +316,7 @@ Funtoo Linux has an autogenerated lazygit package in [dev-kit](https://github.co
|
|||
```sh
|
||||
sudo emerge dev-vcs/lazygit
|
||||
```
|
||||
|
||||
### Gentoo Linux
|
||||
|
||||
Lazygit is not (yet) in main Gentoo portage, however an ebuild is available in [GURU overlay](https://github.com/gentoo-mirror/guru/tree/master/dev-vcs/lazygit)
|
||||
|
|
|
@ -397,6 +397,12 @@ func (self *ViewDriver) Press(keyStr string) *ViewDriver {
|
|||
return self
|
||||
}
|
||||
|
||||
func (self *ViewDriver) Delay() *ViewDriver {
|
||||
self.t.Wait(self.t.inputDelay)
|
||||
|
||||
return self
|
||||
}
|
||||
|
||||
// for use when typing or navigating, because in demos we want that to happen
|
||||
// faster
|
||||
func (self *ViewDriver) PressFast(keyStr string) *ViewDriver {
|
||||
|
|
|
@ -14,12 +14,12 @@ var InteractiveRebase = NewIntegrationTest(NewIntegrationTestArgs{
|
|||
setDefaultDemoConfig(config)
|
||||
},
|
||||
SetupRepo: func(shell *Shell) {
|
||||
shell.CreateFile("my-file.txt", "myfile content")
|
||||
shell.CreateFile("my-other-file.rb", "my-other-file content")
|
||||
shell.CreateRepoHistory()
|
||||
|
||||
shell.CreateNCommitsWithRandomMessages(60)
|
||||
shell.NewBranch("feature/demo")
|
||||
|
||||
shell.CreateNCommitsWithRandomMessages(10)
|
||||
|
||||
shell.CloneIntoRemote("origin")
|
||||
|
||||
shell.SetBranchUpstream("feature/demo", "origin/feature/demo")
|
||||
|
@ -30,14 +30,18 @@ var InteractiveRebase = NewIntegrationTest(NewIntegrationTestArgs{
|
|||
|
||||
t.Views().Commits().
|
||||
IsFocused().
|
||||
NavigateToLine(Contains("Add TypeScript types to User module")).
|
||||
Press(keys.Universal.Edit).
|
||||
SelectPreviousItem().
|
||||
Press(keys.Universal.Remove).
|
||||
SelectPreviousItem().
|
||||
Press(keys.Commits.SquashDown).
|
||||
SelectPreviousItem().
|
||||
Press(keys.Commits.StartInteractiveRebase).
|
||||
PressFast(keys.Universal.RangeSelectDown).
|
||||
PressFast(keys.Universal.RangeSelectDown).
|
||||
Press(keys.Commits.MarkCommitAsFixup).
|
||||
PressFast(keys.Commits.MoveDownCommit).
|
||||
PressFast(keys.Commits.MoveDownCommit).
|
||||
Delay().
|
||||
SelectNextItem().
|
||||
SelectNextItem().
|
||||
Press(keys.Universal.Remove).
|
||||
SelectNextItem().
|
||||
Press(keys.Commits.SquashDown).
|
||||
Press(keys.Universal.CreateRebaseOptionsMenu).
|
||||
Tap(func() {
|
||||
t.ExpectPopup().Menu().
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue