D7805: graft: don't remove from a list in a loop

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This addresses a TODO added in a1381eea7c7d (graft: do not use `.remove` on a sma

D7806: graft: use revset for intersecting with ancestor set

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This addresses a TODO added in a1381eea7c7d (graft: do not use `.remove` on a sma

D7803: tests: split out another ~1/2 of test-graft.t

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added subscribers: mercurial-devel, mjpieters. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The tests involving renames were also quite independent from the rest. REPOSITORY rHG Mercurial BRANCH default REVISION DETAIL https://phab.mer

D7802: tests: split out ~1/3 of test-graft.t

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added subscribers: mercurial-devel, mjpieters. Herald added a reviewer: hg-reviewers. REVISION SUMMARY test-graft.t is ~2400 lines and takes 34s to run. This patch moves the last ~1/3 of it to a separate file. The parts now run in 22s + 13s. On top of

D7804: tests: avoid grafting the same change over and over

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added subscribers: mercurial-devel, mjpieters. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The test case added in a1381eea7c7d (graft: do not use `.remove` on a s

D7801: overlwayworkingctx: remove doubly bad reference to wrapped ctx for copies

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY `_wrappedctx` lives on overlwayworkingctx, not on the repo object, so we should access it as `._wrappedctx`, not `._repo._wrappedctx`. More importantly, the o

D7800: movedirstate: get copies from dirstate before setting parents

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Setting dirstate parents can modify the copies recorded in the dirstate when there are two dirstate parents. I don't think we ever call movedirstate() when th

D7799: merge: remove unused keepparent argument for graft()

2020-01-06 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The option was added in d6859d86a5d5 (merge.graft: add option to keep second pare

D7705: phases: make the working directory consistently a draft

2020-01-06 Thread rdamazio (Rodrigo Damazio Bovendorp)
rdamazio added a comment. In D7705#114157 , @marmoute wrote: > In D7705#114045 , @rdamazio wrote: > >> I don't understand what you're asking me to do here, can you clarify? > > In short we s

D7705: phases: make the working directory consistently a draft

2020-01-06 Thread rdamazio (Rodrigo Damazio Bovendorp)
rdamazio updated this revision to Diff 19050. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D7705?vs=18921&id=19050 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D7705/new/ REVISION DETAIL https://phab.mercurial-scm.org/D7

D7631: absorb: allowing committed changes to be absorbed into their ancestors

2020-01-06 Thread rdamazio (Rodrigo Damazio Bovendorp)
rdamazio added a comment. In D7631#114393 , @mharbison72 wrote: > In D7631#112604 , @rdamazio wrote: > >> In D7631#112414 , @quark wrote: >> >>>

D7631: absorb: allowing committed changes to be absorbed into their ancestors

2020-01-06 Thread rdamazio (Rodrigo Damazio Bovendorp)
rdamazio marked an inline comment as done. rdamazio updated this revision to Diff 19048. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D7631?vs=18873&id=19048 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D7631/new/ REVISION

D7630: absorb: make the absorbed changeset be automatically "evolved"

2020-01-06 Thread rdamazio (Rodrigo Damazio Bovendorp)
rdamazio updated this revision to Diff 19049. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D7630?vs=18874&id=19049 BRANCH default CHANGES SINCE LAST ACTION https://phab.mercurial-scm.org/D7630/new/ REVISION DETAIL https://phab.mercurial-scm.org/D7

mercurial@43999: 2 new changesets (2 on stable)

2020-01-06 Thread Mercurial Commits
2 new changesets (2 on stable) in mercurial: https://www.mercurial-scm.org/repo/hg/rev/453c4f07de0f changeset: 43998:453c4f07de0f branch: stable parent: 43947:b4c82b704180 user:Augie Fackler date:Mon Jan 06 14:58:31 2020 -0500 summary: Added tag 5.2.2 for changeset

5.4sprint location/date finalization

2020-01-06 Thread Augie Fackler
Howdy folks, https://www.mercurial-scm.org/wiki/5.4Sprint has three choices of location: Finland, Brussels, and Paris. Given the tentative availability of Paris, and the relative proximity of Brussels and Paris means Brussels is probably the better choice? At this point I'd like people to fill

mercurial@43997: 36 new changesets

2020-01-06 Thread Mercurial Commits
36 new changesets in mercurial: https://www.mercurial-scm.org/repo/hg/rev/eebdd6709868 changeset: 43962:eebdd6709868 user:Kyle Lippincott date:Wed Dec 18 14:07:58 2019 -0800 summary: fix: fix handling of merge commits by using overlayworkingctx https://www.mercurial-scm.org

D7797: rust-nodemap: pure Rust example

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY To run, use `cargo run --release --example nodemap` This demonstrates that simple scenarios entirely written in Rust can content themselves

D7798: rust-nodemap: special case for prefixes of NULL_NODE

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY We have to behave as though NULL_NODE was stored in the node tree, although we don't store it. REPOSITORY rHG Mercurial BRANCH default RE

D7796: rust-nodemap: input/output primitives

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY These allow to initiate a `NodeTree` from an immutable opaque sequence of bytes, which could be passed over from Python (extracted from a `PyB

D7795: rust-nodemap: insert method

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY In this implementation, we are in direct competition with the C version: this Rust version will have a clear startup advantage because it will

D7788: rust-node: binary Node and conversion utilities

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Our choice of type makes sure that a `Node` has the exact wanted size. We'll use a different type for prefixes. REPOSITORY rHG Mercurial BRA

D7794: rust-nodemap: generic NodeTreeVisitor

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This iterator will help avoid code duplication when we'll implement `insert()`, in which we will need to traverse the node tree, and to rememb

D7793: rust-nodemap: mutable NodeTree data structure

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Thanks to the previously indexing abstraction, the only difference in the lookup algorithm is that we don't need the special case for an empty

D7792: rust-nodemap: abstracting the indexing

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY In the forthcoming mutable implementation, we'll have to visit node trees that are more complex than a single slice, although the algorithm wi

D7790: rust-node: handling binary Node prefix

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Parallel to the inner signatures of the nodetree functions in revlog.c, we'll have to handle prefixes of `Node` in binary form. There's a

D7791: rust-nodemap: NodeMap trait with simplest implementor

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY We're defining here only a small part of the immutable methods it will have at the end. This is so we can focus in the following changesets on

D7789: rust-revlog: a trait for the revlog index

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY As explained in the doc comment, this is the minimum needed for our immediate concern, which is to implement a nodemap in Rust. The trait

D7787: rust-nodemap: building blocks for nodetree structures

2020-01-06 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This is similar to `nodetreenode` in `revlog.c`. We give it a higher level feeling for ease of handling in Rust context and provide tools for

mercurial@43961: 2 new changesets

2020-01-06 Thread Mercurial Commits
2 new changesets in mercurial: https://www.mercurial-scm.org/repo/hg/rev/ab3fd8077f5e changeset: 43960:ab3fd8077f5e user:Georges Racinet date:Thu Dec 12 03:46:47 2019 +0100 summary: rust-index: add a `inner` method to the Index struct https://www.mercurial-scm.org/repo/hg/r