ref-info: more correctness #8815
Merged
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.
There are still a lot of fatal flaws resulting in errors and even panics. These should be fixed and it should 'generally' be working.
Write critical tests only.
Follow-up on #8803.
Tasks
archived
flagPossible Tasks
get_branch_listing_details()
Notable changes to the Datamodel
Notes for the Reviewer
StackId
is still a thing - in the new world stacks or stack-segments are referred to by their reference name or by their index in the parent-list of the top-level merge commit (if there is one).heads_info
call, and can consume the data directly (even though it may have been processed to further facilitate consumption).branch_details()
already works on referencesBranchDetails
are probably the data structure of choice for the UI, and it's just the question if there is stack information or not.HEAD
is. Thus, for this we will probably keep using branch details of sort.Next PR
get_base_branch_data()
.Follow Up Tasks
Next PRs
hide()
in places where merge-commits are used as boundary.Known Shortcomings (for now)
first_parent_only
maybe a good simplification for display, but I wonder if there are side-effects like us not seeing commits that could participate in commit-status check.create_commit
would have to create a workspace commit, which seems worse than adding a WS commit in the moment there are two stacks.tig
will happily list everything.set reference-format = hide:other
fixes this thoughbut-rebase
.For follow-up PRs
In any order (probably)
move file out of commit into worktree (uncommit something)per-hunk exclusion if hunk didn't match (right now it rejects the whole file)Out of scope
git gc
to cleanup.