Excerpts from Durham Goode's message of 2017-03-13 09:23:49 -0700: > On 3/13/17 2:48 AM, Jun Wu wrote: > > # HG changeset patch > > # User Jun Wu <qu...@fb.com> > > # Date 1489395002 25200 > > # Mon Mar 13 01:50:02 2017 -0700 > > # Node ID 6ae6d1069ba1d4089afaeb0bb8ef2411983a1292 > > # Parent 0280ee091bd0ae33aa0a67b0c8a55ccffd2e0718 > > # Available At https://bitbucket.org/quark-zju/hg-draft > > # hg pull https://bitbucket.org/quark-zju/hg-draft -r > > 6ae6d1069ba1 > > obsolete: allow cycles > > > > Now we can handle cycles nicely, allow them to be created. Some practical > > examples: > > > > - To revive X, just create a marker X -> X, with a newer date. > > - To prune X again, just create a marker X -> (), with a newer date. > > - The above two could be repeated. > > > > - To unamend A -> B, just create a marker B -> A, with a newer date. > > > > It's now possible for "touch" and "unamend" to reuse hashes (therefore more > > user-friendly). And it's no longer necessary to write "*_source" in commit > > metadata to workarounds obs cycles. The hacky inhibit extension also becomes > > unnecessary. > > > > Finally. I have been wanting all these for a long time. > > Seems pretty elegant,
It is. I didn't believe I solved it using just 40+ lines with reasonable performance :p > though I haven't fully understood it yet. Maybe > you guys talked about this in person, That's what happened. And we decided to use "date" as the version number. > but what effect (if any) does this > have on exchange? 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. _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel