See what is making a revision immutable #5669
-
I have a revision that is immutable. How can I see what is making it immutable? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 5 replies
-
Revisions are immutable if it has a descendant in You can see what's making it immutable with the following command:
Explaining this revset from the beginning:
You can make this a revset alias to make it reusable: [revset-aliases]
'why_immutable(r)' = 'r | roots(r:: & immutable_heads())' $ jj log -r 'why_immutable(xyz)' |
Beta Was this translation helpful? Give feedback.
-
I ran into an immutable commit issue today while trying to rebase, but because of elided revisions I could not get the source change id I needed. What I finally understood was all descendants must be tracked. A co-worker's bookmark was based on my first immutable commit. Since it wasn't my code, I had no reason to think I should track it. It turns out it must also be tracked! I think if the wording 'all descendants must be tracked' was written somewhere in the documentation I may have understood much earlier. |
Beta Was this translation helpful? Give feedback.
Revisions are immutable if it has a descendant in
immutable_heads()
. So, if you have an immutable revision REV, there must be an immutable head somewhere inREV::
.You can see what's making it immutable with the following command:
Explaining this revset from the beginning: