-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Fix stash operations when branch named 'stash' exists #4641
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
Fix stash operations when branch named 'stash' exists #4641
Conversation
446dfa1
to
623503b
Compare
@@ -187,7 +187,7 @@ func (self *StashController) postStashRefresh() error { | |||
} | |||
|
|||
func (self *StashController) handleNewBranchOffStashEntry(stashEntry *models.StashEntry) error { | |||
return self.c.Helpers().Refs.NewBranch(stashEntry.RefName(), stashEntry.Description(), "") | |||
return self.c.Helpers().Refs.NewBranch(stashEntry.FullRefName(), stashEntry.Description(), "") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Description is what is actually presented to the user, so we see no changes by using the FullRefName here.
Looks great. I do think it would be good to have a little more test coverage, and simply creating a "stash" branch in some of the existing tests sounds good to me for that. Maybe not all of them, but the most basic ones; from a cursory look, it looks like all those who don't have an underscore in their name would be good candidates. |
Alrighty, fixup pushed with those changes! Btw, I've been noticing that a mix of integration tests execute the setup commands as: shell.Foo()
shell.Bar() and other execute them as shell.
Foo().
Bar() Do we have a preference/intention behind either of these approaches going forward? And would you like me to make a PR standardizing their usage across the code base? |
Pretty basic fix, didn't seem to have any complications. I only added the refs/ prefix to the FullRefName() method to align with other similar methods, and to make this change not impact any user facing modals. Fixes: jesseduffield#4634 Also adds a test demonstrating that the stash show behavior is now fixed
3e5560c
to
265557a
Compare
Nice, thanks. Merging.
I've noticed this too. It doesn't bother me much, and I couldn't say which version I prefer. For new tests I've been using both styles in the past, depending on which existing tests I was copy/pasting from. 😄 |
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) | minor | `v0.52.0` -> `v0.53.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.53.0`](https://github.com/jesseduffield/lazygit/releases/tag/v0.53.0) [Compare Source](jesseduffield/lazygit@v0.52.0...v0.53.0) <!-- Release notes generated using configuration in .github/release.yml at v0.53.0 --> This is the first lazygit release after Jesse [passed the maintainership to me](jesseduffield/lazygit#4655) ([@​stefanhaller](https://github.com/stefanhaller)), and I'm excited (and a little bit nervous 😄) about it. No big new features this time, but lots of smaller quality-of-life improvements. The one that makes the biggest difference for me is an improved hunk selection mode in the staging view (in case you didn't know, you can switch from the normal line selection mode to hunk mode by pressing `a`). This now works a bit more fine-grained, by selecting groups of added or deleted lines rather than entire hunks, which often consist of several such groups. With this change I find that I prefer hunk mode over line mode in most cases, so I added a user config to switch to hunk automatically upon entering the staging view; it is off by default, but I encourage you to enable it (`gui.useHunkModeInStagingView`) to see if you like it as much as I do. Feedback about this is welcome; please comment on [the MR](jesseduffield/lazygit#4684) if you have any. The detailed list of all changes follows: #### What's Changed ##### Enhancements 🔥 - Add option to disable warning when amending last commit by [@​johnhamlin](https://github.com/johnhamlin) in jesseduffield/lazygit#4640 - Add bold style for border by [@​aidancz](https://github.com/aidancz) in jesseduffield/lazygit#4644 - Add credential prompts for PKCS11-based SSH keys by [@​Jadeiin](https://github.com/Jadeiin) in jesseduffield/lazygit#4646 - Show annotation information for selected tag by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4663 - Show stash name for selected stash by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4673 - Auto-stash modified files when cherry-picking or reverting commits by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4683 - Move to next stageable line when adding a line to a custom patch by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4675 - Improve hunk selection mode in staging view by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4684 - Add user config to use hunk mode by default when entering staging view by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4685 ##### Fixes 🔧 - Fix stash operations when branch named 'stash' exists by [@​ChrisMcD1](https://github.com/ChrisMcD1) in jesseduffield/lazygit#4641 - Fix moving a custom patch from the very first commit of the history to a later commit by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4631 - Fix DEFAULT\_REMOTE\_ICON character code by [@​bedlamzd](https://github.com/bedlamzd) in jesseduffield/lazygit#4653 - Show GPG error before entering commit editor when rewording non-latest commits by [@​m04f](https://github.com/m04f) in jesseduffield/lazygit#4660 - Fix branch head icon appearing at head commit when a remote or tag exists with the same name as the current branch by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4669 - Fix applying custom patches to a dirty working tree by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4674 - Collapse selection after deleting a range of branches or stashes by [@​nileric](https://github.com/nileric) in jesseduffield/lazygit#4661 ##### Maintenance ⚙️ - Instantiate mutexes by value by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4632 - Bump github.com/cloudflare/circl from 1.6.0 to 1.6.1 by [@​dependabot](https://github.com/dependabot) in jesseduffield/lazygit#4633 - Update linter by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4671 - Some code cleanups to the "discard file changes from commit" feature by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4679 - Change Refresh to not return an error by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4680 ##### Docs 📖 - Fix formatting of a keyboard shortcut in the README.md by [@​DanOpcode](https://github.com/DanOpcode) in jesseduffield/lazygit#4678 ##### I18n 🌎 - Update translations from Crowdin by [@​stefanhaller](https://github.com/stefanhaller) in jesseduffield/lazygit#4686 #### New Contributors - [@​johnhamlin](https://github.com/johnhamlin) made their first contribution in jesseduffield/lazygit#4640 - [@​aidancz](https://github.com/aidancz) made their first contribution in jesseduffield/lazygit#4644 - [@​bedlamzd](https://github.com/bedlamzd) made their first contribution in jesseduffield/lazygit#4653 - [@​Jadeiin](https://github.com/Jadeiin) made their first contribution in jesseduffield/lazygit#4646 - [@​m04f](https://github.com/m04f) made their first contribution in jesseduffield/lazygit#4660 - [@​DanOpcode](https://github.com/DanOpcode) made their first contribution in jesseduffield/lazygit#4678 - [@​nileric](https://github.com/nileric) made their first contribution in jesseduffield/lazygit#4661 **Full Changelog**: jesseduffield/lazygit@v0.52.0...v0.53.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:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Pretty basic fix, didn't seem to have any complications. I basically just grepped for
stash{
and all of the references seemed like they could benefit from the addition. I only added the refs/ prefix to the FullRefName() method to align with other similar methods, and to make this change not impact any user facing modals. I added one integration test for the super obvious failure behavior. I didn't feel that it was worth it to create duplicate integration tests for the other behaviors of drop, apply, pop, etc. I did manually test them though. If interested, I could add the creation of thestash
branch to all the existing tests of stash behavior, just to prove they continue to work under those conditions. I just didn't do that on the first pass cause I could see how that could take away from the core behavior the tests are trying to demonstrate.Fixes: #4634
go generate ./...
)