D2679: [PoC] obsolete: config option to enable local only obsolescence mode

lothiraldan (Boris Feld) phabricator at mercurial-scm.org
Wed Sep 19 10:50:20 EDT 2018


lothiraldan added a comment.


  In https://phab.mercurial-scm.org/D2679#69388, @durin42 wrote:
  
  > In https://phab.mercurial-scm.org/D2679#68489, @lothiraldan wrote:
  >
  > > To take a step back, I'm wondering what's the end goal? I remember there was a discussion about having rebase enabled by default, is it related?
  >
  >
  > Getting rebase (and maybe histedit?) enabled by default is my recollection of the rough goal.
  >
  > > The behavior target by this series ("unobsolete" re-pulled changeset) conflicts with the final behavior we want for Changeset Evolution. Intermediate steps are a good way to make progress. I feel like it is important to write down a clear plan when it comes to adding behavior that does not match our final goals. How are we planning to transition from the local-only step to full (ie, distributed) Evolution?
  >
  > I'm slowly becoming convinced that the long-unquestioned axiom that "all markers are distributed globally" isn't correct, and this is part of why: it's potentially of great value to be able to restore a change by re-pulling it, even though the obsmarkers would normally cause it to be deleted.
  
  
  Avoiding silent reappearance of the locally obsolete changeset that we see on a remote repository is a core feature of obsolescence. Actually, it is the one issue that prompted the creation of changeset evolution in the first place. We and the other people using distributed evolution rely on this behavior on a daily basis. The includes people who picked up the evolve extension on their own and came up with their own workflow without ever speaking to us. We can see some user interfaces adjustment in the future, but the set of synchronized markers and the associated behavior is something we are happy about. It has been well tested in diverse teams and situation for multiple years now.
  
  > It's _super confusing_ when I `hg import` a patch and it seems to work but also immediately disappears, so I've got more sympathy for this PoC series than I do the theoretical purity of markers having any kind of globalness. Does that make sense?
  
  This seems like an unrelated user interface issues. We usually warn the user when their working copy becomes obsolete, pointing out to the newest version/evolution. We have to extend this messages logic to `hg import` to clarify the situation.

REPOSITORY
  rHG Mercurial

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

To: indygreg, #hg-reviewers
Cc: durin42, lothiraldan, pulkit, mercurial-devel


More information about the Mercurial-devel mailing list