Excerpts from Augie Fackler's message of 2017-03-21 18:03:33 -0400:
> > As long as exchange sends dates, markers are globally ordered, and they
> > behave no different then the local case.
> >
> > Say Alice has A -> B created on date1, Bob has B -> A with date2. If date2 >
> > date1, Bob wins. The time of pulling or the pull direction does not matter.
> > Only the global version (date) matters. If date2 == date1, two markers
> > "cancel out" and both A and B become visible.  Previously no matter what the
> > dates are, A and B are both permanently invisible.
> 
> I do worry a little about someone with a bogus clock years in the
> future pumping out malicious nodes that can't be overridden, but I
> suppose in that case your "way out" is that you perturb the hash of
> the revision(s) you want to keep. Seem good enough?

With a bogus clock, power users could also write arbitrary markers with a
newer date to solve the issue.

The whole point of the series is to make it possible to reuse hashes. That's
required for a nature user-experience of "hg unamend", "hg unstrip",
"hg unabsorb" and maybe a general purposed "hg undo", etc.

Yes, the undo reusing hash behavior may be solved in some other way, like
striping the obsstore, or "inhibit". But I believe the obscycle is the most
elegant, bug-free way. And it deals with exchange just well.
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel

Reply via email to