-
Notifications
You must be signed in to change notification settings - Fork 346
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
FR: Add a always edit
mode to prev/next
#3947
Comments
Reminder to address #3935 (comment) if we add a config for edit mode (and presumably stop making it implied in some cases then). |
I don't really use the What would be a good config flag name for this?
thoughts? |
Would this conflict with the decision of not allowing default configuration for commands to avoid inconsistent behavior in #1509? |
Hmmm... I'm not certain, though my own reading of the conclusion of #1509 is that allowing arbitrary defaults for any commands is the undesirable thing. This issue, IIUC, doesn't change the default for the so if I'd like to get other opinions though, before proceeding in case I've interpreted that wrong. |
Suppose edit/squash workflow is user preference, config knob seems good. It might be also okay to remove or deprecate the I personally want a config to never continue editing by |
Since there is an |
Since this a FR based on this comment #2126 (comment), I always thought of having a
Yes, that was always my goal here.
But I don't think we should deprecate it, as usually use |
To summarize the conversation:
sg? |
I don't have naming suggestion, but I think the flag should be tristate.
|
The code in both cli/src/commands/{next,prev}.rs is identical except for the direction of movement. This no-op PR pull the parts that make sense out into cli/src/movement_util.rs so it's easier to see the differences. Part of #3947
The code in both cli/src/commands/{next,prev}.rs is identical except for the direction of movement. This no-op PR pull the parts that make sense out into cli/src/movement_util.rs so it's easier to see the differences. Part of #3947
The code in both cli/src/commands/{next,prev}.rs is identical except for the direction of movement. This no-op PR pull the parts that make sense out into cli/src/movement_util.rs so it's easier to see the differences. Part of #3947
The flag is a tristate flag where: - Auto - Maintain current behaviour. This edits if the wc parent is not a head commit. Else, it will create a new commit on the parent of the wc in the direction of movement. - Always - Always edit - Never - Never edit, prefer the new+squash workflow. Part of #3947
The flag is a tristate flag where: - Auto - Maintain current behaviour. This edits if the wc parent is not a head commit. Else, it will create a new commit on the parent of the wc in the direction of movement. - Always - Always edit - Never - Never edit, prefer the new+squash workflow. Part of #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Part of #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant|ancestor...' helps make it clear what `jj` is really looking for. Part of #3947
My understanding of #1509 is that we should avoid configuration which can change the default behavior of commands (although I'm not sure if that's an ideal which can be met). To me this change looks like it will conflict with that description, in that it changes the default behavior of the command when no flags are specified, so different iterations of the command on different machines can have differing behavior. |
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant|ancestor...' helps make it clear what `jj` is really looking for. Part of #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant|ancestor...' helps make it clear what `jj` is really looking for. Part of #3947
I feel like the current behavior was just to make it more convenient for the "edit" folks without making it less convenient for the "squash" folks. If we have a config, I hope it's enough to make it a boolean. Do you think the |
fwiw, I think the
My first reaction was wth??!!! Actually, the original error message was more confusing: Folks that have internalized the
All that to say that the current behaviour obscures this and though it is a convenience, it not consistent behaviour. Sorry for the wall of text! 😄 |
Add gratuitous `jj log` output to more points in the tests. This makes it easier to understand the intended changes by literally visualizing the commit tree we are after each movement. This is at least useful for me since I find the new+squash workflow confusing. Test behaviour is not changed. Part of #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
If movement commands don't find a target commit, they fail. However, it's usually not intuitive why they fail because in non-edit mode the start commit is the parent of the working commit. Adding the start commit change hash to the error message makes it easier for the user to figure out what is going on. Also, specifying 'No **other** descendant...' helps make it clear what `jj` is really looking for. Part of #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
See context in [this discussion](#3935 (comment)) Fixes #3947
Some people don't use the
new
+squash
workflow and always want to edit their commits which would match the behavior ofsl next/prev
.The text was updated successfully, but these errors were encountered: