Replies: 2 comments
|
I think I may understand why now. For the backport actually we need to do If that is the case then I might have confused jj's |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment

Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
Hello there! I'm maintaining rustup and I'm learning to use
jjfor it, so please correct me if I have got anything wrong or have missed some configuration points 🙏In rust-lang/rustup#4927 I'm trying to maintain a cross-fork backporting PR from
origin:backport/202606toupstream:release/1.29.However, to my surprise,
jj git push --bookmark backport/202606 --remote originhas also rewrittenrelease/1.29locally, causing unnecessary conflicts.What could be going wrong? Is this a bug or my misunderstanding of how
jjis supposed to be used? Many thanks in advance 🙏PS: It should be noted that
git push --force origin HEAD:backport/202606does not trigger this behavior and works as expected; also I fetched beforehand, so this does not seem to be stale remote state.Setup
upstream= canonical repoorigin= my forkrelease/1.29tracksrelease/1.29@upstreamrelease/1.29originto open a PR fromorigintoupstream:release/1.29Expected
... should not rewrite local
release/1.29, since that bookmark is not stale.Actual
After the push:
backport/202606is pushed successfullyrelease/1.29changes to a different commit ID and becomes starred/staleI checked the oplog but it shows only the push operation:
Before the push (at
66f3bde762cc), the status of my repo looked like this:... also note the first and the last lines of the log view, the parent bookmark is not stale and the child bookmark is, so it feels like a push should suffice:
However after the push (at
db49adf66011) it has become:... so the whole history has been rewritten since and including
release/1.29.Environment
jj version: 0.42.0
OS: macOS v26.5.2
colocated repo: Yes
All reactions