-
Notifications
You must be signed in to change notification settings - Fork 346
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
RFD: Soften deprecation of jj checkout/merge
#3218
Conversation
6272259
to
9de0688
Compare
@thoughtpolice: do you want a look at this before I merge it? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I really dislike reverting the stance on this, as it will just set expectations which we'll need to uphold. But I don't think my opinion on this will impact the decision.
I think users will still slowly get used to running
jj new
instead of
jj checkout
. I think this patch might just make that process slower
(bad) and less frustrating (good).
I don't think that this will help people understand the new model. If we just paper over it, people will always expect that these commands work.
9de0688
to
8f7a2c9
Compare
I've heard several people say that deleting `jj checkout` is too extreme. We don't want to scare away potential new users. There's very little cost involved in keeping the command around indefinitely. So I think we should at least remove the promise to delete it in the future.
This way users can override `jj co` to mean `jj new` if they want to get rid of the warning.
It can take a while to get used to the slightly different mental model of `jj new` if you're used to `git/hg checkout`. Let's help users define an alias to avoid the warning `jj checkout` currently prints. I think users will still slowly get used to running `jj new` instead of `jj checkout`. I think this patch might just make that process slower (bad) and less frustrating (good).
That's honestly fine with me. Some people are more change-averse than others. If this can help those people switch to jj, that's a positive IMO, even if they stick to |
8f7a2c9
to
6c7b5a1
Compare
Agreed, so providing them with a alias is fine. But I'd really like to see that command gone before a 1.0 (which won't happen, as it breaks to many users), as it doesn't make sense in the |
What was the motivation for this? I suppose I missed it. I'm fine with removing the hard deadline dates. That said, I'd still like to get rid of the code in the long run and I don't think we should encourage people to use these unless they've already been using them. I guess that's my full opinion. |
See the discussion in #2842, begins here #2842 (comment) |
It's just what I mentioned in the commit messages, i.e. that the "will be deleted text" can be off-putting to new users.
I agree, but "in the long run" is probably at least 5 years IMO. I see very little reason to remove it until something like 95% of users have voluntarily switched over to using By the way, it would be nice to come up with a verb for what |
FWIW, the only reason I chose "later this year" was mostly so that we wouldn't forget about it forever. The code debt probably isn't too bad since they can both be implemented in terms of |
|
jj checkout/merge
jj checkout/merge
I've heard that some people think this PR was an expression of me pushing Google's agenda. I really don't think the concern about |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there a way to have the message suggest the replacement? Because to me, the hardness of it is that it seems like it's going away with no suggested alternative.
The line before the message says this:
So I think we're good from that perspective. My concern is not giving existing users a smooth transition. My concern is that future users (after we delete |
I posted a response to this on Discord just to summarize my thoughts on the matter. Copy/pasting for clarity here:
Again, small battles are the easiest to fight. I've been the Really Grumpy OSS Guy before. It's not a good and healthy way to be. So I avoid that. Save it for things that truly matter, and trust the people you're working with, and the hard parts will pass in time. Them's my rules, and I'm sticking to 'em these days. (And I do appreciate that Googlers are receptive to the way the project is perceived. It's important to know what image of yourself you want to project.) |
my two cents:
I think if there's an encouraging happy message that's not an error, but a hint, "hi, to do this you have to use jj new, it makes so much sense, you'll see" then it should be totally fine 🙃 |
@PhilipMetzger I'm getting a bit of mixed signals from your comments, so just wanted to clarify your stance
Reading between the lines, if I understand correctly, you're saying you'd be fine if we replaced the command with an alias that was included in jj by default, and that your problem is the maintainence burden of checkout, and so you'd like to get the actual command removed? If that indeed is your perspective, I think I agree with you, but at the same time, that's not a user-facing change. Thus, from a user's perspective, having a warning saying "hey, this command will be removed" is incorrect, since when it's removed it'll just be replaced with an alias and still do the exact same thing. To be clear, I'm definitely not advocating that we don't remove the actual command, I'm just advocating that a user coming from git should be able to say |
don't know how i missed this! yeah, sounds good |
It sounds like the consensus is to keep the current behavior, so I'll drop this PR. I'll move the last commit (avoiding |
I initially posted this on Discord but for full public disclosure it also belongs on to this thread. Although I took the liberity to make some edits to be hopefully less hurtful. I apologize to everyone involved for the fuss I made.
Yesterday I really was frustrated on how it happened, as the concerns never reached OSS users when other communication went quite smoothly. Addendum: |
@martinvonz I think this patch is nice and non-controversial. Could you send as a separate PR? |
Sent as #3242 |
Checklist
If applicable:
CHANGELOG.md