Tue, 26 May 2020 08:07:24 -0700 merge with stable
Martin von Zweigbergk <martinvonz@google.com> [Tue, 26 May 2020 08:07:24 -0700] rev 44852
merge with stable
Sun, 17 May 2020 18:33:45 -0400 grep: grep the working copy faster
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 18:33:45 -0400] rev 44851
grep: grep the working copy faster `hg grep qqqq` in the mercurial repo: before: 0,859s after: 0,233s `hg grep somethingwithnomatch` in mozilla-central: before: 51s after: 19s This is probably also a tiny bug fix, because the code was looking up a node for filename `pfn` on a filelog for filename `fn`, which are most of the time the same filename, but don't have to be. Ignoring performance and the bug fix, the code should have the same behavior. Differential Revision: https://phab.mercurial-scm.org/D8545
Sun, 17 May 2020 13:10:54 -0400 grep: stop computing information for --diff when unnecessary
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 13:10:54 -0400] rev 44850
grep: stop computing information for --diff when unnecessary This is one reason why `hg grep pattern` essentially does `hg cat -r . 'set:**'` inside. There is no speed improvement in this commit, because the rest of the code still greps data from filelog instead of working copy when possible. Differential Revision: https://phab.mercurial-scm.org/D8544
Sun, 17 May 2020 12:52:43 -0400 grep: don't go in an infinite loop when given empty regex
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 12:52:43 -0400] rev 44849
grep: don't go in an infinite loop when given empty regex Differential Revision: https://phab.mercurial-scm.org/D8543
Sun, 17 May 2020 12:49:12 -0400 grep: improve test coverage
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 12:49:12 -0400] rev 44848
grep: improve test coverage Differential Revision: https://phab.mercurial-scm.org/D8542
Thu, 27 Feb 2020 09:54:34 -0800 phabricator: avoid passing None to pycompat.fsdecode
Steve Fink <sfink@mozilla.com> [Thu, 27 Feb 2020 09:54:34 -0800] rev 44847
phabricator: avoid passing None to pycompat.fsdecode Differential Revision: https://phab.mercurial-scm.org/D8525
Sun, 17 May 2020 12:23:03 -0400 setup: stop asking cargo to spam
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 12:23:03 -0400] rev 44846
setup: stop asking cargo to spam It prints this kind of stuff by default: Compiling regex v1.3.6 Compiling rand v0.7.3 Compiling crossbeam-deque v0.7.3 which is way better than we ask for before this change, which is screen after screen of compilation commands and irrelevant warnings in crates we use. Differential Revision: https://phab.mercurial-scm.org/D8537
Mon, 11 May 2020 21:54:05 +0200 git: implement some changelog methods
Romain DEP. <rom1dep@gmail.com> [Mon, 11 May 2020 21:54:05 +0200] rev 44845
git: implement some changelog methods Differential Revision: https://phab.mercurial-scm.org/D8540
Mon, 11 May 2020 21:56:11 +0200 git: avoid looking-up parents for the null commit
Romain DEP. <rom1dep@gmail.com> [Mon, 11 May 2020 21:56:11 +0200] rev 44844
git: avoid looking-up parents for the null commit Differential Revision: https://phab.mercurial-scm.org/D8541
Mon, 11 May 2020 21:56:43 +0200 git: fix probable missing return
Romain DEP. <rom1dep@gmail.com> [Mon, 11 May 2020 21:56:43 +0200] rev 44843
git: fix probable missing return Differential Revision: https://phab.mercurial-scm.org/D8539
Sun, 17 May 2020 12:28:32 -0400 rust: fix warning about unnecessary mut
Valentin Gatien-Baron <valentin.gatienbaron@gmail.com> [Sun, 17 May 2020 12:28:32 -0400] rev 44842
rust: fix warning about unnecessary mut If there's a reason to use mut (like compability with older compilers), then we should stick `#[allow(unused_mut)]` on the declaration. Differential Revision: https://phab.mercurial-scm.org/D8538
Tue, 14 Apr 2020 06:09:14 +0200 upgrade: support upgrade and downgrade from persistent nodemap
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 14 Apr 2020 06:09:14 +0200] rev 44841
upgrade: support upgrade and downgrade from persistent nodemap The requirements is now recognised and dealt with and the associated files properly handled. The persistent nodemap should be ready for usage in the field now. Differential Revision: https://phab.mercurial-scm.org/D8431
Tue, 12 May 2020 11:39:50 +0200 status: also support for `traversedir` callback in the Rust fast-path
Raphaël Gomès <rgomes@octobus.net> [Tue, 12 May 2020 11:39:50 +0200] rev 44840
status: also support for `traversedir` callback in the Rust fast-path Repeating the performance numbers from the `hg-core` change: Running `hg clean/purge` on Netbeans' repo (100k files): ``` | No-op | 30% unknown -------------------------- Rust | 1.0s | 1.67s C | 2.0s | 2.87s ``` Differential Revision: https://phab.mercurial-scm.org/D8520
Tue, 12 May 2020 11:37:55 +0200 rust-hg-cpython: update status bridge with the new `traversedir` support
Raphaël Gomès <rgomes@octobus.net> [Tue, 12 May 2020 11:37:55 +0200] rev 44839
rust-hg-cpython: update status bridge with the new `traversedir` support Differential Revision: https://phab.mercurial-scm.org/D8519
Tue, 12 May 2020 11:36:52 +0200 rust-status: collect traversed directories if required
Raphaël Gomès <rgomes@octobus.net> [Tue, 12 May 2020 11:36:52 +0200] rev 44838
rust-status: collect traversed directories if required Some commands (`hg purge` notably) register the `traversedir` callback on their matcher to run said callback every time a directory is traversed. This is the first of three patches, further broadening Rust support for status. Unfortunately, there is no way around collecting a full `Vec` (or any other owned datastructure, like a radix tree) and pushing it back up the Python layer since keeping the Python callback in a closure would mean giving up multithreading because of the GIL, which is obviously unacceptable. Performance is still a lot better than the Python+C path. Running `hg clean/purge` on Netbeans' repo (100k files): ``` | No-op | 30% unknown -------------------------- Rust | 1.0s | 1.67s C | 2.0s | 2.87s ``` Differential Revision: https://phab.mercurial-scm.org/D8518
Tue, 12 May 2020 12:41:28 +0200 rust-status: don't dispatch unknown file when traversing if not listing unknowns
Raphaël Gomès <rgomes@octobus.net> [Tue, 12 May 2020 12:41:28 +0200] rev 44837
rust-status: don't dispatch unknown file when traversing if not listing unknowns This usually isn't a (functional) problem since we ignore the unknown files anyway, but when specifically using `hg purge`, unknown files were iterated over regardless of the option being true. This is both more correct and more efficient. Differential Revision: https://phab.mercurial-scm.org/D8517
(0) -30000 -10000 -3000 -1000 -300 -100 -16 +16 +100 +300 +1000 +3000 tip