Skip to content

Make '>' first jump to the beginning of the branch, and only then to the first commit #4544

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
May 11, 2025

Conversation

stefanhaller
Copy link
Collaborator

@stefanhaller stefanhaller commented May 8, 2025

  • PR Description

In longer branches there's often the need to jump to the beginning of the branch, e.g. in order to re-review all commits from the beginning. There's no easy way to do this in lazygit.

In this PR I overload the "go to bottom" key (>) to jump to the first commit of the current branch if the selection is above it, and only then jump to the very bottom. I like that we don't need to introduce a new key binding for this.

I'm not super convinced this is the best solution, but after some brief testing I like it so far. @jesseduffield Keen to hear your thoughts!

@stefanhaller stefanhaller added the enhancement New feature or request label May 8, 2025
Copy link

codacy-production bot commented May 8, 2025

Coverage summary from Codacy

See diff coverage on Codacy

Coverage variation Diff coverage
Report missing for a27db871 30.00%
Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (a27db87) Report Missing Report Missing Report Missing
Head commit (636b94c) 56337 48922 86.84%

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#4544) 30 9 30.00%

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

See your quality gate settings    Change summary preferences

Footnotes

  1. Codacy didn't receive coverage data for the commit, or there was an error processing the received data. Check your integration for errors and validate that your coverage setup is correct.

@stefanhaller stefanhaller force-pushed the jump-to-beginning-of-branch branch from ac0c19c to 5e712ed Compare May 8, 2025 15:00
Copy link
Owner

@jesseduffield jesseduffield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this, given how rarely you actually need to jump to the bottom of the commits list

It's never called, the binding ListController.HandleGotoBottom wins.

The functionality of loading more commits is implemented by GetOnFocus, and this
way it works not only for '>', but also for other navigation keys like page
down.
@stefanhaller stefanhaller force-pushed the jump-to-beginning-of-branch branch from 5e712ed to 636b94c Compare May 11, 2025 11:56
@stefanhaller stefanhaller enabled auto-merge May 11, 2025 11:56
@stefanhaller stefanhaller merged commit c3081ef into master May 11, 2025
14 checks passed
@stefanhaller stefanhaller deleted the jump-to-beginning-of-branch branch May 11, 2025 11:59
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request May 23, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) | minor | `v0.50.0` -> `v0.51.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary>

### [`v0.51.0`](https://github.com/jesseduffield/lazygit/releases/tag/v0.51.0)

[Compare Source](jesseduffield/lazygit@v0.50.0...v0.51.0)

<!-- Release notes generated using configuration in .github/release.yml at v0.51.0 -->

#### What's Changed

##### Enhancements 🔥

-   Clean up the configuration of where a custom command's output goes by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4525
-   Add custom patch command "Move patch into new commit before the original commit" by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4552
-   Make '>' first jump to the beginning of the branch, and only then to the first commit by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4544
-   Add an alternate keybinding (default <c-s>) for ConfirmInEditor by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4532
-   Print migration changes to the console when migrating config file by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4548

##### Fixes 🔧

-   Migrate deprecated AllBranchesLogCmd to AllBranchesLogCmds by [@&#8203;ChrisMcD1](https://github.com/ChrisMcD1) in jesseduffield/lazygit#4345
-   Clear preserved commit message when entering CommitEditorPanel by [@&#8203;ChrisMcD1](https://github.com/ChrisMcD1) in jesseduffield/lazygit#4558
-   Split behavior of rendering allBranchesLogCmd and switching to next cmd by [@&#8203;ChrisMcD1](https://github.com/ChrisMcD1) in jesseduffield/lazygit#4574
-   Fix possible crash with auto-forwarding branches by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4565
-   Fix main view occasionally scrolling to the top on its own when focused by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4573
-   Fix home and end keys in prompts by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4554
-   Fix crash when clicking in the status view by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4567

##### Maintenance ⚙️

-   Clean up utils package by [@&#8203;stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4538

##### Docs 📖

-   reword documentation for git.autoForwardBranches by [@&#8203;sean-xyz](https://github.com/sean-xyz) in jesseduffield/lazygit#4545

#### New Contributors

-   [@&#8203;sean-xyz](https://github.com/sean-xyz) made their first contribution in jesseduffield/lazygit#4545

**Full Changelog**: jesseduffield/lazygit@v0.50.0...v0.51.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this MR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC4yMi4wIiwidXBkYXRlZEluVmVyIjoiNDAuMjMuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants