-
Notifications
You must be signed in to change notification settings - Fork 582
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
commit with rebase-engine integration #7280
Merged
Merged
Conversation
This file contains 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
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
254b17b
to
137ac82
Compare
137ac82
to
2b4aafe
Compare
- remove unused dependencies - isolate gix-repositories used in testing - move error-handling tests into their own module to see where the actual work is done. - refactor tests primarily to avoid `commits()` seeming too general. - use a directory for tests to allow integration tests to grow into multiple modules, in a single test-binary. - chain chainables for a more fluent look/better readability - separate impl for utility/private methods to make pub-interface pop out when looking at source - try to document the public API - remove `Rebase` object in favor of an API similar to `OpenOptions::...::open()`, so the builder performs the one operation there is right away without intermediates. - this allowed for the bulk of it in a function. - deduplicate validation
* Don't risk `refname` to be confused with a Git ref by renaming it. * `oid` -> `commit_id`.
There it can naturally be used by `but-workspace` and its commit-creation.
2b4aafe
to
cf517d9
Compare
cf517d9
to
313feb9
Compare
313feb9
to
50ea5de
Compare
This relaxes the 'base' requirement and allows some operations without a base.
This type can also be reused elsewhere to tie APIs together.
2c69e0d
to
2e72e91
Compare
cd27f9c
to
0ddcb02
Compare
0ddcb02
to
856e2b2
Compare
856e2b2
to
7e71089
Compare
7e71089
to
d6c364c
Compare
d6c364c
to
78ba985
Compare
78ba985
to
72d9569
Compare
Additionally, provide the information needed to rewrite hidden/internal references.
72d9569
to
dc2b61d
Compare
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 PR should make it possible to create a commit in various places in the commit-graph and automatically maintain the shape of the surrounding GitButler Workspace using the rebase engine.
Follow-up on #7271.
Tasks
gitbutler-testsupport
(pulls in everything) - port utils tobut-testsupport
test with upstreams (also per stack)not needed thanks to simplification via guided travresalgix
tomain
For the next PR
gix
fully (key is the auto-conflict handling) - needed to do allow in-memory config adjustmentsbut-rebase
but-rebase
, re-order, etc.gix
to the version frommain
Known Shortcomings (for now)
but-rebase
.Notes
For follow-up PRs
Remember: Frontend has 3 context-lines, and if there are any issues with this, we should try zero context lines
In any order (probably)
tauri
for worktree-mutating operations.Further Functionality (can be done with old API)
Out of scope
git gc
to cleanup.