[PATCH 5 of 5] py3: convert popen() command arguments in hgclient to str on Windows

2018-12-17 Thread Matt Harbison
# HG changeset patch # User Matt Harbison # Date 1545112472 18000 # Tue Dec 18 00:54:32 2018 -0500 # Node ID 932ed8a051de1d7ef7aee5af66395b48080f17b3 # Parent 6de48fd4e5d322f05986427e1dcce150bbf32e47 py3: convert popen() command arguments in hgclient to str on Windows This fixes

[PATCH 4 of 5] py3: byteify tests/pullext.py

2018-12-17 Thread Matt Harbison
# HG changeset patch # User Matt Harbison # Date 1545106106 18000 # Mon Dec 17 23:08:26 2018 -0500 # Node ID 6de48fd4e5d322f05986427e1dcce150bbf32e47 # Parent b91464896cc94b6da1420f3d0073dc222d417ce4 py3: byteify tests/pullext.py # skip-blame for b'' prepending diff --git

[PATCH 3 of 5] py3: byteify the fakeversion extension in test-http-bad-server.t

2018-12-17 Thread Matt Harbison
# HG changeset patch # User Matt Harbison # Date 1545100057 18000 # Mon Dec 17 21:27:37 2018 -0500 # Node ID b91464896cc94b6da1420f3d0073dc222d417ce4 # Parent a73e76d721fdd67ad51cad9bd8faf28ae0c48ec6 py3: byteify the fakeversion extension in test-http-bad-server.t # skip-blame for b''

[PATCH 2 of 5] py3: spawn all python instances with legacy stdio enabled on Windows

2018-12-17 Thread Matt Harbison
# HG changeset patch # User Matt Harbison # Date 1545089118 18000 # Mon Dec 17 18:25:18 2018 -0500 # Node ID a73e76d721fdd67ad51cad9bd8faf28ae0c48ec6 # Parent f8c0ef3b994fd0d0f15129067fa59ad72d9bdd66 py3: spawn all python instances with legacy stdio enabled on Windows This fixes 6 more

[PATCH 1 of 5] setup: avoid attempting to invoke the system-wide hg.exe on Windows

2018-12-17 Thread Matt Harbison
# HG changeset patch # User Matt Harbison # Date 1545086685 18000 # Mon Dec 17 17:44:45 2018 -0500 # Node ID f8c0ef3b994fd0d0f15129067fa59ad72d9bdd66 # Parent 647bea1ea422afe8b593acffccbee2f890e23f48 setup: avoid attempting to invoke the system-wide hg.exe on Windows On Windows, the

D5439: rust-cpython: binding for AncestorsIterator

2018-12-17 Thread gracinet (Georges Racinet)
gracinet added a comment. @yuja you're right! My first attempt was tainted with assigning to a `Vec`, whereas upon type inference with the actual return type `PyResult`, the compiler does the right thing so that was the escape plan for early returns in closures :-) amazing. REPOSITORY

D5446: rust-cpython: build and support for Python3

2018-12-17 Thread gracinet (Georges Racinet)
gracinet created this revision. Herald added subscribers: mercurial-devel, mjpieters. Herald added a reviewer: hg-reviewers. REVISION SUMMARY Defined Cargo features for Python3, making them overall simpler to use, hooked them in build and made mercurial.rustext importable. This is tested

D5439: rust-cpython: binding for AncestorsIterator

2018-12-17 Thread yuja (Yuya Nishihara)
yuja added a comment. > OTOH I'll have to keep the loop so that I can get the early return upon error (otherwise we'd get a Vec> I didn't check the implementation, but collect() for Result will return immediately if reached to Err. REPOSITORY rHG Mercurial REVISION DETAIL

Re: D5439: rust-cpython: binding for AncestorsIterator

2018-12-17 Thread Yuya Nishihara
> OTOH I'll have to keep the loop so that I can get the early return upon > error (otherwise we'd get a Vec> I didn't check the implementation, but collect() for Result will return immediately if reached to Err. ___ Mercurial-devel mailing list

D5439: rust-cpython: binding for AncestorsIterator

2018-12-17 Thread gracinet (Georges Racinet)
gracinet added a comment. @yuja thanks for spotting the Python3 incompatibility. As you can guess, I didn't compile with Python 3, and actually I hadn't even defined the features to that extent. I will submit separately a change that takes care of the build with Python 3 before updating

Re: [PATCH 4 of 8] revlog: more efficient implementation for issnapshot

2018-12-17 Thread Yuya Nishihara
On Mon, 17 Dec 2018 12:00:46 +, Boris Feld wrote: > # HG changeset patch > # User Boris Feld > # Date 1545040296 -3600 > # Mon Dec 17 10:51:36 2018 +0100 > # Node ID 9fe9cc49f235311269fd957c49898396ed7bdfc0 > # Parent 4cafb262b243b02c217fb538165e354f77ce0fd8 > # EXP-Topic

Re: Improving %ld substiution in `repo.revs`

2018-12-17 Thread Yuya Nishihara
On Mon, 17 Dec 2018 12:38:17 +, Boris FELD wrote: > It is possible to passvarious substitution when passing revset to > `repo.revs` (eg: repo.revs("heads(%ld)", [4, 5, 6]).  > > The current implementation handle this in a quick and dirty way. First a > new revset string is build: > > >  *

Re: [PATCH 5 of 8] revlog: add a native implementation of issnapshot

2018-12-17 Thread Yuya Nishihara
On Mon, 17 Dec 2018 12:00:47 +, Boris Feld wrote: > # HG changeset patch > # User Boris Feld > # Date 1545040633 -3600 > # Mon Dec 17 10:57:13 2018 +0100 > # Node ID 72f9ed348875eaa260f4536885c3120ae536f373 > # Parent 9fe9cc49f235311269fd957c49898396ed7bdfc0 > # EXP-Topic

Re: [PATCH 4 of 8] revlog: more efficient implementation for issnapshot

2018-12-17 Thread Yuya Nishihara
On Mon, 17 Dec 2018 12:00:46 +, Boris Feld wrote: > # HG changeset patch > # User Boris Feld > # Date 1545040296 -3600 > # Mon Dec 17 10:51:36 2018 +0100 > # Node ID 9fe9cc49f235311269fd957c49898396ed7bdfc0 > # Parent 4cafb262b243b02c217fb538165e354f77ce0fd8 > # EXP-Topic

Re: [PATCH 3 of 8] delta: ignore base whose chains already don't match expectations

2018-12-17 Thread Yuya Nishihara
On Mon, 17 Dec 2018 12:00:45 +, Boris Feld wrote: > # HG changeset patch > # User Boris Feld > # Date 1545039997 -3600 > # Mon Dec 17 10:46:37 2018 +0100 > # Node ID 4cafb262b243b02c217fb538165e354f77ce0fd8 > # Parent 153388916e8d05a5307017c5476a4981cb3f4576 > # EXP-Topic

Improving %ld substiution in `repo.revs`

2018-12-17 Thread Boris FELD
Hello everyone, It is possible to passvarious substitution when passing revset to `repo.revs` (eg: repo.revs("heads(%ld)", [4, 5, 6]).  The current implementation handle this in a quick and dirty way. First a new revset string is build:  * code: repo.revs("heads(%ld)", [4, 5, 6])  *

D5438: rust-cpython: implementing Graph using C parents function

2018-12-17 Thread yuja (Yuya Nishihara)
yuja added a comment. > About protecting parents() with the GIL `Python<'p>`, I'll have to think more about it, but the solution that comes to mind is as you suggest a two-step wrapping: the long lived `Index` would wrap the actual index object and the function pointer retrieved from the

Re: D5438: rust-cpython: implementing Graph using C parents function

2018-12-17 Thread Yuya Nishihara
> About protecting parents() with the GIL `Python<'p>`, I'll have to think > more about it, but the solution that comes to mind is as you suggest a > two-step wrapping: the long lived `Index` would wrap the actual index object > and the function pointer retrieved from the capsule, but would

D5438: rust-cpython: implementing Graph using C parents function

2018-12-17 Thread gracinet (Georges Racinet)
gracinet added a comment. I gave the solution to reacquire the GIL explicitely from Index a quick try, without even releasing it from the callers (which is ok according to https://docs.python.org/2.7/c-api/init.html#c.PyGILState_Ensure), and it is more than a 20% penalty. I'm measuring

[PATCH STABLE] run-tests: fix permission to clean up unreadable directories

2018-12-17 Thread Yuya Nishihara
# HG changeset patch # User Yuya Nishihara # Date 1545047169 -32400 # Mon Dec 17 20:46:09 2018 +0900 # Branch stable # Node ID 0b83681014bfc4cde7f4f43fc05e9345f4645032 # Parent 120ecb17242b4edd5a14d6abb094df7d97d78835 run-tests: fix permission to clean up unreadable directories I found

[PATCH 8 of 8] delta: reuse _findsnapshot call from previous stage

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545041567 -3600 # Mon Dec 17 11:12:47 2018 +0100 # Node ID 244ae450e30f3e352a56c62ade6a5759cb23e05f # Parent 3294c80c1c71ab738a46bba671ee8e094a479fc6 # EXP-Topic sparse-revlog-corner-cases # Available At

[PATCH 7 of 8] delta: have a native implementation of _findsnapshot

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545041237 -3600 # Mon Dec 17 11:07:17 2018 +0100 # Node ID 3294c80c1c71ab738a46bba671ee8e094a479fc6 # Parent 5e538853cc3267f20274e8eb032d40793f4a8b44 # EXP-Topic sparse-revlog-corner-cases # Available At

[PATCH 6 of 8] revlog: use the native implementation of issnapshot

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545040919 -3600 # Mon Dec 17 11:01:59 2018 +0100 # Node ID 5e538853cc3267f20274e8eb032d40793f4a8b44 # Parent 72f9ed348875eaa260f4536885c3120ae536f373 # EXP-Topic sparse-revlog-corner-cases # Available At

[PATCH 5 of 8] revlog: add a native implementation of issnapshot

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545040633 -3600 # Mon Dec 17 10:57:13 2018 +0100 # Node ID 72f9ed348875eaa260f4536885c3120ae536f373 # Parent 9fe9cc49f235311269fd957c49898396ed7bdfc0 # EXP-Topic sparse-revlog-corner-cases # Available At

[PATCH 4 of 8] revlog: more efficient implementation for issnapshot

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545040296 -3600 # Mon Dec 17 10:51:36 2018 +0100 # Node ID 9fe9cc49f235311269fd957c49898396ed7bdfc0 # Parent 4cafb262b243b02c217fb538165e354f77ce0fd8 # EXP-Topic sparse-revlog-corner-cases # Available At

[PATCH 3 of 8] delta: ignore base whose chains already don't match expectations

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545039997 -3600 # Mon Dec 17 10:46:37 2018 +0100 # Node ID 4cafb262b243b02c217fb538165e354f77ce0fd8 # Parent 153388916e8d05a5307017c5476a4981cb3f4576 # EXP-Topic sparse-revlog-corner-cases # Available At

[PATCH 2 of 8] delta: exclude base candidate much smaller than the target

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545039739 -3600 # Mon Dec 17 10:42:19 2018 +0100 # Node ID 153388916e8d05a5307017c5476a4981cb3f4576 # Parent bfc00ea63c21a3027537206c8c6fc39a22a71875 # EXP-Topic sparse-revlog-corner-cases # Available At

[PATCH 1 of 8] perfrevflogwrite: clear revlog cache between each write

2018-12-17 Thread Boris Feld
# HG changeset patch # User Boris Feld # Date 1545039442 -3600 # Mon Dec 17 10:37:22 2018 +0100 # Node ID bfc00ea63c21a3027537206c8c6fc39a22a71875 # Parent 2393c40442144eb96712e97b426990706cd94ef0 # EXP-Topic sparse-revlog-corner-cases # Available At

D5445: tests: followup on network related errors on Debian 9

2018-12-17 Thread lothiraldan (Boris Feld)
This revision was automatically updated to reflect the committed changes. Closed by commit rHG97484e1d1834: tests: followup on network related errors on Debian 9 (authored by lothiraldan, committed by ). REPOSITORY rHG Mercurial CHANGES SINCE LAST UPDATE

Re: [PATCH 1 of 3] py3: conditionalize the python version in test-install.t

2018-12-17 Thread Yuya Nishihara
On Mon, 17 Dec 2018 01:58:04 -0500, Matt Harbison wrote: > # HG changeset patch > # User Matt Harbison > # Date 1544993228 18000 > # Sun Dec 16 15:47:08 2018 -0500 > # Node ID 1a2afc80fc6d8660bcafcf21bde92754b1bd0f18 > # Parent b565360af9e733ae90142af8eda6c9d52fe76f61 > py3: conditionalize

D5438: rust-cpython: implementing Graph using C parents function

2018-12-17 Thread gracinet (Georges Racinet)
gracinet added a comment. @yuja yes sorry, forgot to adapt to the new signature. That'll be fixed in next version, and in `revlog.c`, the capsule pointer declaration is now at the top. About protecting parents() with the GIL `Python<'p>`, I'll have to think more about it, but the