restack: Don't use fork point if base hash is up to date #95
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.
When restacking, we run the equivalent of the following command:
Where,
Commits that match
git rev-list [current] --not [upstream]
are included in the rebase.
We track the hash of the base branch as the user uses git-spice
so that we know the best value of [upstream] to use when restacking.
However, our restacking logic was always overriding that
with the fork point between [base] and [current] if available.
This seems unnecessary and possibly faulty
given that our base branch information is more specific.
In this change, we'll only use the fork point as a fallback
if the recorded base hash is not an ancestor of the current branch.