-
Notifications
You must be signed in to change notification settings - Fork 339
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
BUG: multiple changesets created after running certain commands #5099
Comments
Here's another scenario with rebase: The graph starts with these two changes:
Then I ran: Then I ran And here's the graph:
change m got duplicated into |
I was using |
You can use |
I'm struggling to reproduce now, but the next time I encounter the bug, I will capture that information. |
It's already captured. You can run those commands now to troubleshoot. |
Captured in a gist, since it's quite long: https://gist.github.com/XavierChanth/50f0f9f0e0061725c58768989dfcf591 It it normal to see the snapshot of the working copy diverge from the rebase? It seems like that should be linear. |
Ah, that looks like a known bug that we should take a lock on the working copy while importing git refs. It's related to the nvim integration that runs in the background and snapshots the working copy. We have this TODO for it: Lines 1054 to 1062 in ef724d2
(I think I misunderstood what you meant by "capture" before, btw. I thought you were talking about capturing the bad state, but you might have been talking about capturing it from the terminal and sharing it here.) |
Yes, that is what I meant by capture, sorry for the confusion. I did build a little plugin in nvim that shows jj log next to an embedded terminal. It seems this issue can be closed since it's already being tracked. I'll defer to you in case you want to leave it open until it's resolved. |
Description
Certain jj commands seem to create multiple new changesets, I suppose ones that do something, then automatically create a new changeset for you afterwards.
I have observed this with
jj git push
and some other commands (I cannot say for certain which yet).I apologize if there is another issue open, I looked for duplicates but could not find any.
Steps to Reproduce the Problem
Expected Behavior
Only one new changeset is created.
Actual Behavior
Multiple new changesets are being created:
The change I made was at
r
, this is the changeset I ran the commands from.Here is the log afterwards:
As you can see, it created
z
andl
. I typically have solved this by runningjj edit z
which abandonsl
. When I am working on complicated changesets, like taking several dependent changes and separating them into stacked branches for PRs, I have racked up like 5 or 6 of these extra changes.I have also observed this behavior with other jj commands, I think either squash or split, but I was unable to reproduce an example. I did not run any bookmark set or git push commands at the times that I observed the behavior, so it definitely affects other commands, but I cannot say for certain what they are.
I'll observe my commands and update this ticket if I encounter more reproducible scenarios.
Specifications
uname -a:
The text was updated successfully, but these errors were encountered: