Add custom patch command "Move patch into new commit before the original commit"#4552
Merged
stefanhaller merged 7 commits intomasterfrom May 11, 2025
Merged
Conversation
I almost broke this during the development of this branch, so add a test to guard against that. The point here is that the stack remains intact, i.e. the renamed commit is the head of the lower branch, and thus shows the "*".
…t of a stacked branch I almost broke this during the development of this branch, so add a test to guard against that. The point here is that the stack remains intact, i.e. the newly created commit is the last commit of the lower branch, and thus shows the "*".
This currently fails with an error.
…h merge commit BeginInteractiveRebaseForCommit is used for all the patch commands, and for rewording. It works by setting the commit we want to stop at to 'edit'; this doesn't work for merge commits. This wasn't a problem for the patch commands so far, because you typically don't use custom patches with merge commits (although we don't prevent this; maybe we should?). However, it was a problem when you tried to reword a merge commit; this previously failed with an error, as the test added in the previous commit demonstrated. Also, we want to add a new patch command that has to stop *before* the selected commit (pull patch to new commit before the original one), and this wouldn't work for the first commit in a feature branch, because it would have to set the last commit before that to 'edit', which isn't possible if that's a merge (which is likely). To fix all this, use a 'break' before the selected commit if the commit is a merge. It is important that we only do it in that case and not always, otherwise we would break the new regression tests that were added a few commits ago.
…nal commit" This is often useful to extract preparatory refactoring commits from a bigger one.
b4043cb to
f6d1333
Compare
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesFootnotes
|
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 [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4525 - Add custom patch command "Move patch into new commit before the original commit" by [@​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 [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4544 - Add an alternate keybinding (default <c-s>) for ConfirmInEditor by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4532 - Print migration changes to the console when migrating config file by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4548 ##### Fixes 🔧 - Migrate deprecated AllBranchesLogCmd to AllBranchesLogCmds by [@​ChrisMcD1](https://github.com/ChrisMcD1) in jesseduffield/lazygit#4345 - Clear preserved commit message when entering CommitEditorPanel by [@​ChrisMcD1](https://github.com/ChrisMcD1) in jesseduffield/lazygit#4558 - Split behavior of rendering allBranchesLogCmd and switching to next cmd by [@​ChrisMcD1](https://github.com/ChrisMcD1) in jesseduffield/lazygit#4574 - Fix possible crash with auto-forwarding branches by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4565 - Fix main view occasionally scrolling to the top on its own when focused by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4573 - Fix home and end keys in prompts by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4554 - Fix crash when clicking in the status view by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4567 ##### Maintenance ⚙️ - Clean up utils package by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4538 ##### Docs 📖 - reword documentation for git.autoForwardBranches by [@​sean-xyz](https://github.com/sean-xyz) in jesseduffield/lazygit#4545 #### New Contributors - [@​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-->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is often useful to extract preparatory refactoring commits from a bigger one. It works best when selecting only entire hunks or even entire files; if partial hunks are in the patch, you are likely to get conflicts.
Along the way, fix rewording merge commits. (Not because I find this super important, but just because I came across the code while working on this.)
go generate ./...)