rust-status: cap the number of concurrent threads to 16
During benchmarking it was determined that the use of more threads is very
advantageous... until we use more than 16. This is most likely due to some
resource contention (thrashing, etc.). Until we have time to figure out and
fix the underlying cause, let's just cap at 16 threads.
Differential Revision: https://phab.mercurial-scm.org/D12384
rhg: add support for ignoring all extensions
Some workflows just want what `rhg` does and don't care about any extensions,
this makes it easier.
Differential Revision: https://phab.mercurial-scm.org/D12385
revlog: fix index_fast_rank (wip)
As far as I can tell, rank is stored as a 32-bit big endian value, I'm
not sure how grabbing the first byte can possibly work. I assume
there's no test coverage here?
cc @pacien
Fixes: https://www.mercurial-scm.org/repo/hg/rev/
e633e660158f
Differential Revision: https://phab.mercurial-scm.org/D12376
tests: fix glob pattern for dynamic timer alignment
The number of space characters varies depending on the number of digits of the
timer, making some tests fail on slow machines in an unintended way:
```diff
--- /build/mercurial-6.1/tests/test-merge-halt.t
+++ /build/mercurial-6.1/tests/test-merge-halt.t.err
@@ -210,6 +210,6 @@
merge halted after failed merge (see hg resolve)
[240]
$ hg shelve --list
- default (* ago) changes to: foo (glob)
+ default (11s ago) changes to: foo
$ hg unshelve --abort
unshelve of 'default' aborted
ERROR: test-merge-halt.t output changed
```
Differential Revision: https://phab.mercurial-scm.org/D12381
test: update test-clone-stream.t to pass on bigendian
Fixes:
a3cf460a6b1b ("stream-clone: also filter the requirement we put in the bundle 2")
Differential Revision: https://phab.mercurial-scm.org/D12377
filemerge: when merge tool uses $output, don't leave markers in $local
As explained in the previous patch, we incorrectly leave conflict
markers in both `$local` and `$output` since D12190. I don't
understand why it broke but the fix is simple and clear after all the
recent refactoring.
Differential Revision: https://phab.mercurial-scm.org/D12379
tests: demonstrate how conflict markers end up $local *and* $output
When a merge tool is configured to keep conflict markers, they are
supposed to be written to `$local` if `$output` is not mentioned in
the tool's `merge-tools.<tool>.args` config, and in `$output` if it is
mentioned. However, I broke the latter case in D12190.
Differential Revision: https://phab.mercurial-scm.org/D12378