-
-
Notifications
You must be signed in to change notification settings - Fork 91
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
Implement some form of interactive rebase #177
Comments
I'm also interested in interactive rebase for |
My envisioning is that it would be like
Let me know if you have any other interface ideas. |
So a typical linear rebase would be
That seems pretty indentation heavy and I would be worried it'd run counter to how people think (since they are used to seeing parent/children in a series), whether I had been considering flattening it as much as possible and have any additional children be sections that list their base commit in a new column. So it'd be something like
(seriously, gitlab, your code fences mess up rendering?) In thinking about both approaches, this one also optimizes for re-parenting because its just changing lines or changing bases rather than also having to change indentation of entire hierarchies of commits |
Another feature I've been considering (more important for
Maybe something like
Its ugly. Unsure how much its worth cramming all of these features in. |
That's a good point. The |
I modeled In considering this, another model I thought of is
Internally, I refer to
Recognizing commits vs marks and ordering arbitrarily created sequences will take some figuring out. Maybe branches can be another command / directive
|
On the Graphite Slack, user Bilal Quadri (@bilalq?) says this:
This would indicate that they would very much value the ability to set branches as part of interactive rebase. |
Yeah, this would be huge for me. Even something to either extend the interactive rebase in git to add a preprocessing step to it could work. Let's say I have a dag looking like this: * cc8788ba - (HEAD -> main) Implement signin with Facebook (12 hours ago) <Bilal Quadri>
* a5cb48c7 - Implement signin with Apple (12 hours ago) <Bilal Quadri>
* bf1c8c7a - Implement signin with Google (12 hours ago) <Bilal Quadri>
* ee139214 - Integrate with AWS Cognito user pool (12 hours ago) <Bilal Quadri>
* cde12345 - Setup auth event handlers (12 hours ago) <Bilal Quadri>
* abc123ef - Create UI for auth (14 hours ago) <Bilal Quadri>
* af34cca1 - (origin/main) Configure code coverage reports (16 hours ago) <Bilal Quadri> The normal git rebase prompt would open with:
Ideally, I'd like to edit it to something like:
But have that be treated as:
To ultimately end up with a dag like: * cc8788ba - (HEAD -> feat/support-social-logins, main) Implement signin with Facebook (10 hours ago) <Bilal Quadri>
* a5cb48c7 - Implement signin with Apple (12 hours ago) <Bilal Quadri>
* bf1c8c7a - Implement signin with Google (12 hours ago) <Bilal Quadri>
* ee139214 - (feat/integrate-auth-ui-with-auth-service) Integrate with AWS Cognito user pool (12 hours ago) <Bilal Quadri>
* cde12345 - Setup auth event handlers (12 hours ago) <Bilal Quadri>
* abc123ef - (feat/create-auth-ui) Create UI for auth (14 hours ago) <Bilal Quadri>
* af34cca1 - (origin/main) Configure code coverage reports (16 hours ago) <Bilal Quadri> |
There might be some interesting ideas to consider regarding rebase scripting from |
Unlike
git rebase -i
, it should be possible to manipulate the tree structure, rather than a linear sequence of commits. Depends on #176.The text was updated successfully, but these errors were encountered: