-
Notifications
You must be signed in to change notification settings - Fork 381
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
help text for rebase is inconsistent #5218
Comments
Link for reference: https://jj-vcs.github.io/jj/v0.24.0/cli-reference/#jj-rebase
I think the documentation is misleading and I believe
[historical note] I suspect the I agree that, from a conceptual perspective, it probably makes sense to discuss the I personally don't like
[tangential] I personally have found that the default of
Agreed. We should definitely be consistent. I think "revision" is a better term to use everywhere.
Agreed. I see now that it actually doesn't mention anything about reapplying patches, so from the specification in the docs here, one could be misled into thinking that it only modifies the graph structure without changing any of the snapshots/trees. |
I use the default all the time, we do GitHub flow so I habitually run |
I agree, and I've considered |
I think it would be nice to use a word that starts with Also, I didn't see any new description of what the rebase is actually doing besides rearranging the graph. If that's all it does, please say so. Otherwise, say what it does. |
It comes from Mercurial. The long form is
I added a sentence about it in #5400. I think just "rearranging the graph" is too vague. I tried to clarify a bit about how it does it. |
Don't take this the wrong way, but it doesn't help users to explain in the issue comments. The help text is what they are going to read, and most of them have not used Mercurial (including me). The option name should make sense. The only thing I could see that you added was a sentence that repeated the short summary and said "while preserving the changes (diff) in the revisions". This does help some, but I was expecting to find something about immutable and remote versus local and change versus revision...just a brief caution about what the command affects. Perhaps this help text is so difficult to read because the Usage is at the bottom, defining the options after the explanation with examples. Anything you add to the explanation is a repeat of the option definition, so maybe the two should be more combined instead. Also, the sentence defining the Despite the |
It wasn't meant to help users :) It was meant as input to the discussion here about changing the name of the flag and/or the description text.
Right, that's why I proposed two names (
I feel like most of that belongs in a more central place because it's not specific to the I see that have not documented what immutable commits are in the glossary. I think we should add it there. I don't think we've discussed remote vs local revisions anywhere. That might deserve its own section under Concept.
I actually thought one of the good things about renaming "branches" to "bookmarks" was that we freed up "branch" to always refer to topological branches (well, except that we also talk about inteterop with Git branches in many places). |
I probably have more knowledge of One other thing I noticed is that there can be multiple |
Description
My reading of the
jj help rebase
text is perhaps tainted by seeing-r
used on other commands as plural, so I equate it with "revset". I got confused by the first paragraph saying that-s
is for "a revision and its descendants" followed immediately by-r
for "a single commit". They seemed backward to me, so the examples were a bit much especially since they take up enough room that I can't fit the first paragraph explanation on the same screen as the option descriptions. In addition, the example graphs have visible Markdown taking up space.The option description says that
-s
is for source and-r
is for revisions (plural).This is one explanation where using both "commit" and "revision" is very confusing.
The help needs to say a little more about rebase than simply "move revisions to different parents", to give at least a hint of what changes and/or what consequences or limits there are since novice users need that.
Steps to Reproduce the Problem
jj help rebase
Expected Behavior
I expect option letters to make sense.
Actual Behavior
Option letters represent renamed concepts ( -b for branch ), no match for the letter ( -s for "a revision and its descendants" ), and different plurality ( -r is "single commit" versus "--revisions" )
Specifications
The text was updated successfully, but these errors were encountered: