Description
As discussed in https://discord.com/channels/968932220549103686/1436372580000075978, the current default for trunk() seems to have some drawbacks.
-
root()as fallback is unlucky, if you have none of the previous options,root()is considered thetrunk()which means that with the defaultlogrevset,root()is always shown. And it also means that if you do something likejj rebase -d trunk(), chances are high that you get an error about immutable commits not being rebased unless you have no immutable commits yet. I have a gut feeling thatnone()would be better thanroot(), so that if you try to do something withtrunk()you get an imho better error that the revset is empty, andjj logwill not by default always show theroot()commit. -
it might make sense to
coalescefirst the latest of the remote bookmarks considered now, then to the latest local bookmark with one of the three names, and only after that either fall back toroot()or - as noted in the first point - tonone(). -
When
jj git initis used to create a new empty repository,trunk()alias should be set to the one branch that is now available in Git. -
When
jj git initis used to create a JJ repo on an existing purely-local Git repository, it should also set thetrunk()alias like when doing it on a repo with remotes or when doingjj git clone.