mercurial@42337: 13 new changesets

2019-05-22 Thread Mercurial Commits
13 new changesets in mercurial: https://www.mercurial-scm.org/repo/hg/rev/526750cdd02d changeset: 42325:526750cdd02d parent: 42319:b162229ebe0d user:Martin von Zweigbergk date:Wed May 15 22:09:02 2019 -0700 summary: bookmarks: keep bookmarks in .hg/store if new config

[PATCH hglib V3] tests: handle the removal of `obsolete._enabled` in Mercurial

2019-05-22 Thread Matt Harbison
# HG changeset patch # User Matt Harbison # Date 1557281819 14400 # Tue May 07 22:16:59 2019 -0400 # Node ID 7bee00ed7d597f8b0964aa7117e405189d7ba28a # Parent 33b512aa8dba0cbe523188fbb62d30ae2125a236 tests: handle the removal of `obsolete._enabled` in Mercurial I'm not sure why we can't

Re: [PATCH hglib V2] tests: handle the removal of `obsolete._enabled` in Mercurial

2019-05-22 Thread Matt Harbison
On Wed, 22 May 2019 19:23:41 -0400, Yuya Nishihara wrote: On Tue, 21 May 2019 21:47:38 -0400, Matt Harbison wrote: # HG changeset patch # User Matt Harbison # Date 1557281819 14400 # Tue May 07 22:16:59 2019 -0400 # Node ID 19b12f3e7cc79566c4bb7d1c8df4a6d50d88133d # Parent

D6440: fix: let fixer tools inherit hg's cwd so they can look at the working copy

2019-05-22 Thread hooper (Danny Hooper)
hooper created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This lets fixer tools do things like find configuration files, with the caveat that they'll only see the version of that file in the working copy, regardless of

D6439: test: add missing 'cd ..' to test case

2019-05-22 Thread hooper (Danny Hooper)
hooper created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6439 AFFECTED FILES tests/test-fix.t CHANGE DETAILS diff --git a/tests/test-fix.t b/tests/test-fix.t

D6432: match: de-flake test-doctest.py by not depending on util.dirs() order

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes. Closed by commit rHGc4b8f8637d7a: match: de-flake test-doctest.py by not depending on util.dirs() order (authored by martinvonz, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D6433: match: remove an obsolete comment about util.finddirs()

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG52beb1b8a649: match: remove an obsolete comment about util.finddirs() (authored by martinvonz, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D6432: match: de-flake test-doctest.py by not depending on util.dirs() order

2019-05-22 Thread yuja (Yuya Nishihara)
yuja added a comment. > @@ -1384,26 +1384,26 @@ > > >>> _rootsdirsandparents( > ... [(b'glob', b'g/h/*', b''), (b'glob', b'g/h', b''), > ... (b'glob', b'g*', b'')]) > > - (['g/h', 'g/h', ''], [], ['', 'g']) +(['g/h', 'g/h', ''], [], set(['', 'g']))

Re: D6432: match: de-flake test-doctest.py by not depending on util.dirs() order

2019-05-22 Thread Yuya Nishihara
> @@ -1384,26 +1384,26 @@ > >>> _rootsdirsandparents( > ... [(b'glob', b'g/h/*', b''), (b'glob', b'g/h', b''), > ... (b'glob', b'g*', b'')]) > -(['g/h', 'g/h', ''], [], ['', 'g']) > +(['g/h', 'g/h', ''], [], set(['', 'g'])) Perhaps, this would break py3 doctests.

Re: [PATCH hglib V2] tests: handle the removal of `obsolete._enabled` in Mercurial

2019-05-22 Thread Yuya Nishihara
On Tue, 21 May 2019 21:47:38 -0400, Matt Harbison wrote: > # HG changeset patch > # User Matt Harbison > # Date 1557281819 14400 > # Tue May 07 22:16:59 2019 -0400 > # Node ID 19b12f3e7cc79566c4bb7d1c8df4a6d50d88133d > # Parent 33b512aa8dba0cbe523188fbb62d30ae2125a236 > tests: handle the

Re: [PATCH 2 of 2] perf: add an option to profile the benchmark section

2019-05-22 Thread Yuya Nishihara
On Wed, 22 May 2019 16:46:11 +0200, Pierre-Yves David wrote: > # HG changeset patch > # User Pierre-Yves David > # Date 1558445208 -7200 > # Tue May 21 15:26:48 2019 +0200 > # Node ID b5c316b4248f3add425313ac0f443c706b79 > # Parent 8553423d79608bd5d144456448509bdf98c6df11 > # EXP-Topic

D6422: copies: avoid calling matcher if matcher.always()

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment. In https://phab.mercurial-scm.org/D6422#93543, @marmoute wrote: > The nodes in the above example have been selected by a script because they had interresting property. They are not based on a tag so I can't give you one. How did you converted the repo ? I

D6422: copies: avoid calling matcher if matcher.always()

2019-05-22 Thread marmoute (Pierre-Yves David)
marmoute added a comment. The nodes in the above example have been selected by a script because they had interresting property. They are not based on a tag so I can't give you one. How did you converted the repo ? I think `hg convert` keeps a map somewhere, otherwise, using the commit

D6436: narrow: use narrow_widen wireproto command to widen in case of ellipses

2019-05-22 Thread pulkit (Pulkit Goyal)
pulkit created this revision. Herald added a reviewer: durin42. Herald added a reviewer: martinvonz. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Few releases ago, we introduce narrow_widen wireproto command to be used to widen narrow

D6438: narrow: pass the bundle to bundle2.widen_bundle() instead of generating there

2019-05-22 Thread pulkit (Pulkit Goyal)
pulkit created this revision. Herald added a reviewer: durin42. Herald added a reviewer: martinvonz. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This will make the code in narrowwirepeer.py more better for further refactoring.

D6437: narrow: refactor code around widening complicated by previous patch

2019-05-22 Thread pulkit (Pulkit Goyal)
pulkit created this revision. Herald added a reviewer: durin42. Herald added a reviewer: martinvonz. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Previous patch while adding support for using narrow_widen wireproto command, complicated

D6435: narrow: factor out logic to build ellipses related b2parts in separate fn

2019-05-22 Thread pulkit (Pulkit Goyal)
pulkit created this revision. Herald added a reviewer: durin42. Herald added a reviewer: martinvonz. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This will help us switch more cleanly to using wireprotocol commands instead of using

D6434: narrow: remove unrequired compat code for old versions of hg

2019-05-22 Thread pulkit (Pulkit Goyal)
pulkit created this revision. Herald added a reviewer: durin42. Herald added a reviewer: martinvonz. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY As the comment says, that if is only required for servers having hg version 3.1 and 3.2.

D6433: match: remove an obsolete comment about util.finddirs()

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Obsolete since 8e55c0c642c (util: make util.dirs() and util.finddirs() include root directory (API), 2017-05-16). REPOSITORY rHG Mercurial REVISION DETAIL

D6432: match: de-flake test-doctest.py by not depending on util.dirs() order

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY util.dirs() yields directories in arbitrary order, which has made test-doctest.py flaky. I think they have been flaky since

D6422: copies: avoid calling matcher if matcher.always()

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment. In https://phab.mercurial-scm.org/D6422#93466, @marmoute wrote: > Can you indicate a summary of the total speedup of the series ? (from base to last changesets?). Sure, done. > Also I am not sure for which case these number apply ? Is this the

D6422: copies: avoid calling matcher if matcher.always()

2019-05-22 Thread marmoute (Pierre-Yves David)
marmoute added a comment. Can you indicate a summary of the total speedup of the series ? (from base to last changesets?). Also I am not sure for which case these number apply ? Is this the compatibility mode or after repository conversion ? Can we have number for both ? To have a more

D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment. In https://phab.mercurial-scm.org/D2647#93458, @gracinet wrote: > In https://phab.mercurial-scm.org/D2647#93457, @martinvonz wrote: > > > In https://phab.mercurial-scm.org/D2647#93456, @marmoute wrote: > > > > > We could maybe make it a function of both

D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. Also I'd like to mention that I have changesets that add more precise timing info, both for the Python variant (this one) and the Rust variant. These are the ones I used to put timing info in https://phab.mercurial-scm.org/D6430 and

D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-22 Thread marmoute (Pierre-Yves David)
marmoute added a comment. Something only based on the number of root can also over sample. For a "simple" example, imagine a undecideded set with many roots that eventually all merge into a few heads. If most of that set is common between local and remote, few question about the part of

D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. In https://phab.mercurial-scm.org/D2647#93457, @martinvonz wrote: > In https://phab.mercurial-scm.org/D2647#93456, @marmoute wrote: > > > We could maybe make it a function of both the number of heads and roots. That is not strictly the number of connected

D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment. In https://phab.mercurial-scm.org/D2647#93456, @marmoute wrote: > We could maybe make it a function of both the number of heads and roots. That is not strictly the number of connected set, but that would provide a more conservative approach. That could

D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-22 Thread marmoute (Pierre-Yves David)
marmoute added a comment. We could maybe make it a function of both the number of heads and roots. That is not strictly the number of connected set, but that would provide a more conservative approach. That could over-sample for hour-glass shape, but they are probably less common.

D6428: rust-discovery: using the children cache in add_missing

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. This revision is new. At the time I submitted the previous series, it was almost always the case that the advantage of the C `reachableroots2()` over the Rust ``dagop::range()` was more than compensated by sampling been done in Rust instead of Python. I

D6416: changelog: optionally store added and removed files in changeset extras

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 15231. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D6416?vs=15214=15231 REVISION DETAIL https://phab.mercurial-scm.org/D6416 AFFECTED FILES mercurial/changelog.py mercurial/localrepo.py

D6431: copies: also encode p[12]copies destination as index into "files" list

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6431 AFFECTED FILES mercurial/changelog.py tests/test-copies-in-changeset.t tests/test-copies.t

D6417: context: get filesadded() and filesremoved() from changeset if configured

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz updated this revision to Diff 15232. REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE https://phab.mercurial-scm.org/D6417?vs=15215=15232 REVISION DETAIL https://phab.mercurial-scm.org/D6417 AFFECTED FILES mercurial/changelog.py mercurial/context.py CHANGE DETAILS diff

D6430: rust-discovery: using from Python code

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY As previously done in other topics, the Rust version is used if it's been built. The version fully in Rust of the partialdiscovery class has the performance

D6429: rust-discovery: avoid useless calls to addcommons/addmissings

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Whatever the implementation in hg-core, it's simpler to test for this condition in the bindings because the core methods take `impl

D6428: rust-discovery: using the children cache in add_missing

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY The DAG range computation often needs to get back to very old revisions, and turns out to be disproportionately long, given that the end goal

D6427: discovery: new devel.discovery.randomize option

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a subscriber: kevincox. gracinet added a comment. @kevincox this used to be https://phab.mercurial-scm.org/D6346 I had to fix conflict and adapt the test due to growing sample size having landed since then REPOSITORY rHG Mercurial REVISION DETAIL

D6426: rust-discovery: optionally don't randomize at all, for tests

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. @kevincox this used to be https://phab.mercurial-scm.org/D6345 REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6426 To: gracinet, #hg-reviewers Cc: durin42, kevincox, mercurial-devel ___

D6425: rust-discovery: exposing sampling to python

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. @kevincox this used to be https://phab.mercurial-scm.org/D6261 REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6425 To: gracinet, #hg-reviewers Cc: durin42, kevincox, mercurial-devel ___

D6424: rust-discovery: takefullsample() core implementation

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. @kevincox this used to be https://phab.mercurial-scm.org/D6260 (I don't think I changed anything besides rebasing) REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6424 To: gracinet, #hg-reviewers Cc: durin42, kevincox, mercurial-devel

D6423: rust-discovery: core implementation for take_quick_sample()

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. @kevincox this used to be https://phab.mercurial-scm.org/D6257 (I don't think I changed anything besides rebasing) REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6423 To: gracinet, #hg-reviewers Cc: durin42, kevincox, mercurial-devel

D6427: discovery: new devel.discovery.randomize option

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added a subscriber: mercurial-devel. Herald added a reviewer: hg-reviewers. REVISION SUMMARY By default, this is True, but setting it to False is a uniform way to kill all randomness in integration tests such as test-setdiscovery.t By "uniform" we

D6426: rust-discovery: optionally don't randomize at all, for tests

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY As seen from Python, this is a new `randomize` kwarg in init of the discovery object. It replaces random picking by some arbitrary yet

D6425: rust-discovery: exposing sampling to python

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6425 AFFECTED FILES rust/hg-cpython/src/discovery.rs CHANGE DETAILS diff --git

D6424: rust-discovery: takefullsample() core implementation

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY take_full_sample() browses the undecided set in both directions: from its roots as well as from its heads. Following what's done on the

D6423: rust-discovery: core implementation for take_quick_sample()

2019-05-22 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, kevincox, durin42. Herald added a reviewer: hg-reviewers. REVISION SUMMARY This makes in particular `rand` no longer a testing dependency. We keep a seedable random generator on the `PartialDiscovery` object

D6346: discovery: new devel.discovery.randomize option

2019-05-22 Thread gracinet (Georges Racinet)
gracinet abandoned this revision. gracinet added a subscriber: kevincox. gracinet added a comment. I'm abandoning this revision because I have to resubmit the whole series after partial incorrect application last week and subsequent droping from the actual repo. @kevincox, that's the

D6262: rust-discovery: using from Python code

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. I'm abandoning this revision because I have to resubmit the whole series after partial incorrect application last week and subsequent droping from the actual repo. REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6262 To: gracinet,

D6345: rust-discovery: optionally don't randomize at all, for tests

2019-05-22 Thread gracinet (Georges Racinet)
gracinet abandoned this revision. gracinet added a comment. I'm abandoning this revision because I have to resubmit the whole series after partial incorrect application last week and subsequent droping from the actual repo. REPOSITORY rHG Mercurial REVISION DETAIL

D6345: rust-discovery: optionally don't randomize at all, for tests

2019-05-22 Thread gracinet (Georges Racinet)
gracinet added a comment. @kevincox I don't think the potential masking in tests due to this strategy is a big problem. That test is pretty recent, compared to setdiscovery, at least, and doesn't really test that sampling is very relevant. We could do better though by introducing several

D6414: narrow: consider empty commits to be "inside the narrow spec" for templates

2019-05-22 Thread hooper (Danny Hooper)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG45c18f7345c1: narrow: consider empty commits to be inside the narrow spec for templates (authored by hooper, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

D2647: setdiscovery: make progress on most connected groups each roundtrip

2019-05-22 Thread martinvonz (Martin von Zweigbergk)
martinvonz added a comment. In https://phab.mercurial-scm.org/D2647#93258, @martinvonz wrote: > In https://phab.mercurial-scm.org/D2647#93256, @marmoute wrote: > > > I feel like I am missing something. Your commit message seems to be talking using at least as many item in the sameple

[PATCH 1 of 2] perf: add a `pre-run` option

2019-05-22 Thread Pierre-Yves David
# HG changeset patch # User Pierre-Yves David # Date 1558444086 -7200 # Tue May 21 15:08:06 2019 +0200 # Node ID 8553423d79608bd5d144456448509bdf98c6df11 # Parent 86f17fc31aa8a0c26c11db6a532293463ee6428a # EXP-Topic perf-profile # Available At https://bitbucket.org/octobus/mercurial-devel/

[PATCH 2 of 2] perf: add an option to profile the benchmark section

2019-05-22 Thread Pierre-Yves David
# HG changeset patch # User Pierre-Yves David # Date 1558445208 -7200 # Tue May 21 15:26:48 2019 +0200 # Node ID b5c316b4248f3add425313ac0f443c706b79 # Parent 8553423d79608bd5d144456448509bdf98c6df11 # EXP-Topic perf-profile # Available At https://bitbucket.org/octobus/mercurial-devel/

D6422: copies: avoid calling matcher if matcher.always()

2019-05-22 Thread marmoute (Pierre-Yves David)
marmoute added a comment. I have no idea how this comment ended up on this diff… REPOSITORY rHG Mercurial REVISION DETAIL https://phab.mercurial-scm.org/D6422 To: martinvonz, #hg-reviewers Cc: marmoute, mercurial-devel ___ Mercurial-devel

D6422: copies: avoid calling matcher if matcher.always()

2019-05-22 Thread marmoute (Pierre-Yves David)
marmoute added a comment. We could maybe make it a function of both the number of heads and roots. That is not strictly the number of connected set, but that would provide a more conservative approach. That could over-sample for hour-glass shape, but they are probably less common.