D216: evolution: rename bumped to phase-divergent

ryanmce (Ryan McElroy) phabricator at mercurial-scm.org
Fri Aug 4 05:09:53 EDT 2017


ryanmce accepted this revision.
ryanmce added a comment.


  A Dead Horse in Need of Kicking
  ===============================
  
  I have no strong desire to drag this dead horse out of its grave to continue kicking it. However, since we are here, I will state for the record that I disagree that "overdue" is more clear.
  
  Imagine I'm a `git` user trying out `hg` due to hearing about some of its cool features. I'm hacking on some stuff with a friend and now I see that I have "1 overdue changeset". I have no idea what that means, to be honest. Is it out-of-date somehow? Will it expire soon? Will I be fined by the library?
  
  However, if I see that a changeset is "phase-divergent" I may also be confused, but I pretty quickly know two things: (1) I should understand what "phase" means, and that this changeset disagrees with another changeset somehow. So, I look up phases and (1) I've learned something important about hg and (2) now phase-divergence makes a lot more sense just by me knowing about phases and the meaning of "divergent": my changeset is draft, but a different version of it is public, so mine is phase-divergent. It's clear from then on because it builds on top of the terminology we already use elsewhere in hg.
  
  Moving on and responding to other comments here
  ===============================================
  
  > Do we /know/ that something that's phase-divergent is only divergent by phase? or could the content also be different? Is it possible to have a case in the tests that's both content-divergent and phase-divergent?
  
  I think that it's possible to be both at the same time. I'll spend some time coming up with the situation to explain it, but most of the time it's not the case as I recall.
  
  > I guess most users use source control are even aware of the "phase" concept so it might be nice to hide that word from UI.
  
  I disagree. `hg amend` --> `abort: cannot amend public changesets`
  
  We already expose phases in the UI and I argue that it's a good thing. Making users more aware of it and reusing the terminology I think is a good thing.
  
  > Maybe we can merge those two into divergent() to simplify the concept a user may face.
  
  This is kind of the direction we went. Instead of two separate concepts, "bumped" and "divergent", we now have two related concepts "content-divergent" and "phase-divergent". Both are "divergent", which means they need some similar kind of attention. The way it would be introduced in the docs is to explain the concept of divergence and then to explain the two types. However, I disagree with lumping all such types without exposing differences. I believe that will be more confusing since the way to arrive in the situation and the remedies are different.
  
  > We can think about alternative ways to display instability in the default log template.
  
  I'd love to hear what suggestions you have here (I lean towards "phase-divergent with f3967dc12" in the log so it's easy to figure out what the "other" version of you is).
  
  Conclusion
  ==========
  
  I feel that these decisions were made a long time ago. They were recorded on the wiki. We sent out emails about it for comments. We met up at the tail end of the last sprint both at the sprint venue and in a follow-up for anyone who cared enough at the time, up at the Atlassian office. No naming scheme will be perfect -- language is always a compromise -- but I think the names currently on the CEDVocabulary page are quite good, significant improvements over what we currently have, and have been discussed for hours by experts who care, and I think we should stick with them. Unless someone proposes a new name that pretty much everyone agrees is better -- and that hasn't happened here -- I think we should stick with the current naming on the Wiki.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D216

To: lothiraldan, #hg-reviewers, ryanmce
Cc: ryanmce, martinvonz, quark, durin42, mercurial-devel


More information about the Mercurial-devel mailing list