-
-
Notifications
You must be signed in to change notification settings - Fork 116
Improve commit picker (git town prepend --beam) #4519
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
Comments
Guidance for implementation:
|
I believe this wraps up the work for this ticket. Showing a diff preview feels out of scope. Git Town needs to run reliably across a wide range of environments, including some fairly constrained ones like Windows terminals, editor-integrated emulators, and CI systems that render console output in the browser. Many of these environments already have trouble rendering even basic UI elements like checkboxes. While a diff preview might offer some value in a few scenarios, it risks degrading the experience for a broader set of users by producing noisy or unreadable output. On balance, it seems better to leave this feature out. Also worth noting: for the preview to be truly useful, we'd likely need to support scrolling, searching, and possibly paging. All of which add significant complexity. Given our current bandwidth, it makes more sense to prioritize higher-impact improvements. |
This is now available as part of Git Town v19.0. |
⚠️ **CAUTION: this is a major update, indicating a breaking change!**⚠️ This MR contains the following updates: | Package | Update | Change | |---|---|---| | [git-town/git-town](https://github.com/git-town/git-town) | major | `v18.3.2` -> `v20.1.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>git-town/git-town (git-town/git-town)</summary> ### [`v20.1.0`](https://github.com/git-town/git-town/releases/tag/v20.1.0) [Compare Source](git-town/git-town@v20.0.0...v20.1.0) ##### New Features - `git town compress` now has a `--no-verify` flag that disables Git's pre-commit hook ([#​4843](git-town/git-town#4843)). ##### Bug Fixes - `git town compress` now enforces that the branch to compress is in sync with its parent branch ([#​4845](git-town/git-town#4845)). - `git town sync` now doesn't remove commits of branches with deleted tracking branch if they don't have descendents ([#​4872](git-town/git-town#4872)). - Git Town no longer overrides the language of executed Git commands to US-English ([#​4861](git-town/git-town#4861)). ##### Contributors Shoutout to [@​AmitJoki](https://github.com/AmitJoki), [@​fcurella](https://github.com/fcurella), [@​haltcase](https://github.com/haltcase), [@​kevgo](https://github.com/kevgo), [@​lvlcn-t](https://github.com/lvlcn-t), [@​mw00120](https://github.com/mw00120), [@​niklastreml](https://github.com/niklastreml), [@​stephenwade](https://github.com/stephenwade) for contributing code, feedback, and ideas to 34 shipped MRs and 6 resolved issues! ### [`v20.0.0`](https://github.com/git-town/git-town/releases/tag/v20.0.0) [Compare Source](git-town/git-town@v19.0.0...v20.0.0) Git Town 2000! 🎉 ##### BREAKING CHANGES - The `push-new-branches` configuration option is now called `share-new-branches` and allows additional ways of sharing freshly created branches ([#​3912](git-town/git-town#3912)): - `no`: keep new branches local (default) - `push`: push new branches to the [development remote](https://www.git-town.com/preferences/dev-remote.html) - `propose`: automatically create proposals for new branches. This helps being maximally transparent with progress on each item worked on. - `git town propose` now always syncs the proposed branch, but always in [detached mode](https://www.git-town.com/commands/sync.html#-d--detached) mode ([#​4772](git-town/git-town#4772), [#​4781](git-town/git-town#4781)). - `git town propose` now longer has the `--detached` flag because it now always syncs in detached mode ([#​4775](git-town/git-town#4775)). ##### New Features - `git town sync` now correcly syncs branches whose commits got amended or rebased ([#​4586](git-town/git-town#4586)). - You can now propose all branches in a stack with `git town propose --stack` ([#​3840](git-town/git-town#3840)). - `git town propose` now un-parks parked branches when proposing them ([#​4780](git-town/git-town#4780)). - The [setup assistant](https://www.git-town.com/configuration.html) no longer asks for data already provided by the [Git Town configuration file](https://www.git-town.com/configuration-file.html) ([#​4710](git-town/git-town#4710)). - The setup assistant now offers to store forge API tokens globally for all repos on your machine ([#​4112](git-town/git-town#4112)). - [git town status reset](https://www.git-town.com/commands/status-reset.html) now indicates whether the runstate file existed ([#​4814](git-town/git-town#4814)). - [git town status reset](https://www.git-town.com/commands/status-reset.html) now supports the `--verbose` flag ([#​4813](git-town/git-town#4813)). ##### Bug Fixes - Git Town now correctly resolves `includeIf` directives in Git configuration ([#​4107](git-town/git-town#4107)). - `git town prepend --beam` now works correctly with prototype branches ([#​4768](git-town/git-town#4768)). - Git Town now loads the forge API token with the same precendence as other configuration data ([#​7428](git-town/git-town#4728)). - [git town undo](https://www.git-town.com/commands/undo.html) now correctly undoes situations where only the local part of a branch got renamed ([#​4794](git-town/git-town#4794)). - Git Town now works even if Git's `color.ui` setting is `always` ([#​4840](git-town/git-town#4840)). - The setup assistant now only updates the stored access token of the forge that is actually being used ([#​4819](git-town/git-town#4819)). - [git town status reset](https://www.git-town.com/commands/status-reset.html) can now be run from a subdirectory ([#​4812](git-town/git-town#4812)). ##### Contributors Git Town 2000 is a big release. Shoutout to [@​AmitJoki](https://github.com/AmitJoki), [@​Ydot19](https://github.com/Ydot19), [@​ahgraber](https://github.com/ahgraber), [@​davidolrik](https://github.com/davidolrik), [@​erik-rw](https://github.com/erik-rw), [@​haltcase](https://github.com/haltcase), [@​jmyers-figma](https://github.com/jmyers-figma), [@​judec-ps](https://github.com/judec-ps), [@​kevgo](https://github.com/kevgo), [@​lvlcn-t](https://github.com/lvlcn-t), [@​nekitk](https://github.com/nekitk), [@​niklastreml](https://github.com/niklastreml), [@​pradeepmurugesan](https://github.com/pradeepmurugesan), [@​ruudk](https://github.com/ruudk), [@​stephenwade](https://github.com/stephenwade), [@​terheyden](https://github.com/terheyden), [@​tharun208](https://github.com/tharun208) for contributing code, feedback, and ideas to 124 shipped MRs and 17 resolved issues! ### [`v19.0.0`](https://github.com/git-town/git-town/releases/tag/v19.0.0) [Compare Source](git-town/git-town@v18.3.2...v19.0.0) ##### BREAKING CHANGES - The commands `new-pull-request` and `rename-branch` are being sunset after being deprecated for a long time. Their modern replacements are `propose` and `rename` ([#​4714](git-town/git-town#4714)). - The configuration entries `contribution-branches`, `observed-branches`, `parked-branches`, and `prototype-branches` are being sunset. Their functionality is taken over by setting the type for individual branches as well as `contribution-regex`, `observed-regex`, `default-branch-type`, and `new-branch-type` ([#​4499](git-town/git-town#4499)). ##### New Features - `git town append` and `git town hack` now also have a `--beam` flag to move selected commits to the new branch. When enabled, they no longer fetch or sync, which allows you to move commits with the fewest possible distractions ([#​3338](git-town/git-town#3338)). - The "select commits to beam" dialog now displays the SHA of commits in addition to the commit message ([#​4519](git-town/git-town#4519)). - `set-parent` now allows providing the new parent as an optional positional CLI argument ([documentation](https://www.git-town.com/commands/set-parent.html#positional-argument), [#​4705](git-town/git-town#4705)). - The Git Town website now has a [how-to](https://www.git-town.com/how-tos.html) section. ##### Bug Fixes - `git town sync --no-push` no longer make the commit order appear out of order ([#​4696](git-town/git-town#4696)). ##### Contributors Shoutout to [@​erik-rw](https://github.com/erik-rw), [@​kevgo](https://github.com/kevgo), [@​legeana](https://github.com/legeana), [@​nekitk](https://github.com/nekitk), [@​pradeepmurugesan](https://github.com/pradeepmurugesan), [@​ruudk](https://github.com/ruudk), [@​stephenwade](https://github.com/stephenwade), [@​terheyden](https://github.com/terheyden) for contributing code, ideas, and feedback to 33 shipped MRs and 10 resolved issues! </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:eyJjcmVhdGVkSW5WZXIiOiI0MC4xMS4yIiwidXBkYXRlZEluVmVyIjoiNDAuMTEuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Your message to us
First of all, the new
--beam
functionality forgit town prepend
is awesome 😍Currently it looks like this:

Would it be an idea to improve this a bit?
Maybe good to add the short commit sha in front of it.
And if possible, add a diff viewer.
This is what I see when I use my git hack-pick script:

The text was updated successfully, but these errors were encountered: