Skip to content
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

cli: rename obslog to evolution #4146

Merged
merged 1 commit into from
Sep 5, 2024
Merged

cli: rename obslog to evolution #4146

merged 1 commit into from
Sep 5, 2024

Conversation

martinvonz
Copy link
Member

Checklist

If applicable:

  • I have updated CHANGELOG.md
  • I have updated the documentation (README.md, docs/, demos/)
  • I have updated the config schema (cli/src/config-schema.json)
  • I have added tests to cover my changes

Copy link
Contributor

@PhilipMetzger PhilipMetzger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

Copy link
Member

@thoughtpolice thoughtpolice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. BTW, I wonder if jj evolution should be able to take a revset argument without requiring -r like several other commands do... We can save that for a follow up though, and the -r handling of those other commands I mention need to be fixed up a little.

@istudyatuni
Copy link

istudyatuni commented Jul 24, 2024

What do you think about command like jj changeset log?

@PhilipMetzger
Copy link
Contributor

I wonder if jj evolution should be able to take a revset argument without requiring -r like several other commands do... We can save that for a follow up though, and the -r handling of those other commands I mention need to be fixed up a little.

Which commands do you mean? I probably missed a conversation somewhere.

What do you thing about command like jj changeset log?

Let's not open the revision, Change bikeshed here.

@martinvonz
Copy link
Member Author

What do you thing about command like jj changeset log?

That sounds too similar to what jj log is to me. Mercurial uses changeset as a synonym for revision and commit, so I would think of it as a log of commits in the usual sense (linking to parents, not to predecessors). I also don't want to create a jj changeset command family until we have other subcommands for it.

I'll leave this PR open for a while to give you and others more opportunity to comment.

Copy link
Contributor

@ilyagr ilyagr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This SGTM, it should also be easy to access as jj evo<TAB>, assuming we don't plan to have any other evolution-related commands. I can't really think of any at the moment.

If we could think of some, I'd go for jj evolution log, jj evolog for short.

@yuja
Copy link
Contributor

yuja commented Jul 25, 2024

My only concern is that jj evolution sounds like a namespace like jj config. log isn't a verb, but it's common enough to recognize as a command to "show log".

@martinvonz
Copy link
Member Author

My only concern is that jj evolution sounds like a namespace like jj config. log isn't a verb, but it's common enough to recognize as a command to "show log".

I agree with that but I couldn't think of a better name that people seemed to like. I'd be fine with jj evolution-log since I rely heavily on tab completion anyway, but maybe that's annoyingly long for people who can't use tab completion for some reason. OTOH, maybe jj evolution is already a bit long for them. Anyone knows?

@seh
Copy link

seh commented Jul 25, 2024

If we're looking for verbs, there is also chronicle, which happens to also be a noun.

@joyously
Copy link

Looking up the synonyms of evolution, I found progression.
For etymology, there is derivation, development, and origin.
For chronicle, there is report.

@yuja
Copy link
Contributor

yuja commented Jul 26, 2024

I'd be fine with jj evolution-log since I rely heavily on tab completion anyway, but maybe that's annoyingly long for people who can't use tab completion for some reason. OTOH, maybe jj evolution is already a bit long for them.

I slightly prefer evolution-log than evolution as the command output is quite similar to jj log. I would also do jj evo[TAB] anyway. evolution isn't easy to type.

@avamsi
Copy link
Member

avamsi commented Jul 26, 2024

Does revlog also sound too similar to log?

@joyously
Copy link

Does revlog also sound too similar to log?

Yes, but also, it would mean the same thing. This is for the command that shows how "changes" have evolved (through different revisions).
But as Philip said

Let's not open the revision, Change bikeshed here.

@avamsi
Copy link
Member

avamsi commented Jul 26, 2024

This is for the command that shows how "changes" have evolved (through different revisions).

I'm aware. Save for potential confusion with log, I do think revlog can reasonably be read as evolution of a change.
I'm also amused by how it sounds similar to reflog, even though they do different things.

@seh
Copy link

seh commented Jul 26, 2024

Another couple of colors to consider for the shed: change-history and revision-history. These are nouns, though.

@PhilipMetzger
Copy link
Contributor

For everyone here's the prior discussion: #3592

@joyously
Copy link

What if it's just log with a flag --evolution?

@ilyagr
Copy link
Contributor

ilyagr commented Jul 26, 2024

I wouldn't mind evolution-log or evolutionlog. If we go with the former, I wonder whether we should have "inter-diff" and "diff-edit", but that's a separate discussion (while I'd like eventual consistency on whether we use dashes or not, the possibility of tab completion and aliases makes it less important practically). Having evolution log would avoid this discussion, even if log is the only sub-command.

Either way, I like the "evo" prefix, and would like evolog as a visible and shorter alias for any of these three, unless people find it problematic. For one, if I'm talking on Discord, evolog is nicer to type. Also, "evo" would work for either #4129 (comment) (evoheads, evoancestors, etc) or the suggestion by Yuya in the following comment in that discussion (evo(::x) instead of evoancestors(x)).

Looking back at the discussion Philip linked, I still like "rewritelog" a bit, but less. The problem with that is that rewrite(::x) or rewriteancestors makes less sense to me than evo(::x). The noun rewrite is ambiguous with the verb in many combinations. evolvelog is shorter than evolutionlog, but I think is even more problematic since evolve is clearly a verb.

Even though jj evolution sounds like a namespace, I'm OK with it too. I think it'd work with evoheads/evo(x-), it's a nice and easy-to-remember word, and it avoids the dash-or-no-dash discussion. As I already said, it would be a mildly annoying transition if we later decided to make it into an actual namespace with several commands (it would negate all the advantages of choosing jj evolution now), but it is not an impossible transition.

@ilyagr
Copy link
Contributor

ilyagr commented Jul 26, 2024

What if it's just log with a flag --evolution

I think this is also a good idea. It would provide a good UX if we can make it work.

The downside is that we'd have to make obslog work with all the options to log, present and future. log already has a ton of options and the number will only grow. On one hand, that's annoying, and on the opposite hand we'd be making it harder to implement new log options by forcing anyone to think how it should work with obslog.

So, my first reaction is that I think I'd prefer jj evolution log to this, but I also think --evolution is worth considering.

@ilyagr
Copy link
Contributor

ilyagr commented Jul 26, 2024

Re #4146 (review)

BTW, I wonder if jj evolution should be able to take a revset argument without requiring -r like several other commands do...

I wonder whether it should take a path argument, like jj log. Even if that's not implemented, I think requiring -r saves a place for it (unless we go with #3809 or something like it).

@joyously
Copy link

The downside is that we'd have to make obslog work with all the options to log

I don't think all the options would have to apply, if you make them mutually exclusive. The templates would need to match maybe?

@PhilipMetzger
Copy link
Contributor

If we don't take the evolution namespace, then my preferred name would be evolog from all suggestions.

What if it's just log with a flag --evolution?

While this works, I'd rather not mix concepts as the "Change's" evolution is separate from a repo's history. I also think this will hinder learning Jujutsu.

@martinvonz
Copy link
Member Author

I'm going to go with evolution-log with evolog as alias then. Let me know what you think (e.g. a simple thumbs up/down reaction) before I make the change in a few days or so.

martinvonz added a commit that referenced this pull request Aug 16, 2024
It seems everyone agrees that `obslog` is not an intuitive name. There
was some discussion about alternatives in #3592 and on #4146. The
alternatives included `evolution`, `evolutionlog`, `evolog`,
`rewritelog`, `revlog`, and `changelog`. It seemed like
`evolution-log`/`evolog` was the most popular option. That also
matches the command's current help text ("Show how a change has
evolved over time").
@martinvonz
Copy link
Member Author

I've updated this to use jj evolog and jj evolution-log now

@emilazy
Copy link
Contributor

emilazy commented Aug 16, 2024

I personally rather liked just evolution, considerably more than evolog. (But I should have spoken up sooner; I don’t want to prolong the bikeshedding…)

martinvonz added a commit that referenced this pull request Aug 16, 2024
It seems everyone agrees that `obslog` is not an intuitive name. There
was some discussion about alternatives in #3592 and on #4146. The
alternatives included `evolution`, `evolutionlog`, `evolog`,
`rewritelog`, `revlog`, and `changelog`. It seemed like
`evolution-log`/`evolog` was the most popular option. That also
matches the command's current help text ("Show how a change has
evolved over time").
martinvonz added a commit that referenced this pull request Aug 17, 2024
It seems everyone agrees that `obslog` is not an intuitive name. There
was some discussion about alternatives in #3592 and on #4146. The
alternatives included `evolution`, `evolutionlog`, `evolog`,
`rewritelog`, `revlog`, and `changelog`. It seemed like
`evolution-log`/`evolog` was the most popular option. That also
matches the command's current help text ("Show how a change has
evolved over time").
martinvonz added a commit that referenced this pull request Aug 17, 2024
It seems everyone agrees that `obslog` is not an intuitive name. There
was some discussion about alternatives in #3592 and on #4146. The
alternatives included `evolution`, `evolutionlog`, `evolog`,
`rewritelog`, `revlog`, and `changelog`. It seemed like
`evolution-log`/`evolog` was the most popular option. That also
matches the command's current help text ("Show how a change has
evolved over time").
martinvonz added a commit that referenced this pull request Aug 17, 2024
It seems everyone agrees that `obslog` is not an intuitive name. There
was some discussion about alternatives in #3592 and on #4146. The
alternatives included `evolution`, `evolutionlog`, `evolog`,
`rewritelog`, `revlog`, and `changelog`. It seemed like
`evolution-log`/`evolog` was the most popular option. That also
matches the command's current help text ("Show how a change has
evolved over time").
It seems everyone agrees that `obslog` is not an intuitive name. There
was some discussion about alternatives in #3592 and on #4146. The
alternatives included `evolution`, `evolutionlog`, `evolog`,
`rewritelog`, `revlog`, and `changelog`. It seemed like
`evolution-log`/`evolog` was the most popular option. That also
matches the command's current help text ("Show how a change has
evolved over time").
@martinvonz
Copy link
Member Author

I'll merge this now

@martinvonz martinvonz enabled auto-merge (rebase) September 5, 2024 20:35
@martinvonz martinvonz merged commit a0fae76 into main Sep 5, 2024
31 checks passed
@martinvonz martinvonz deleted the push-pnvwlqzwuwwr branch September 5, 2024 20:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.