- Jan 26, 2021
-
-
Simon Sapin authored
Crate docs: https://jeltef.github.io/derive_more/derive_more/from.html Differential Revision: https://phab.mercurial-scm.org/D9875
-
Simon Sapin authored
Use the enum directly as `FooError` instead. Differential Revision: https://phab.mercurial-scm.org/D9874
-
Simon Sapin authored
This new module will be the place to implement more of the revset language when we do so. Differential Revision: https://phab.mercurial-scm.org/D9873
-
- Jan 25, 2021
-
-
Simon Sapin authored
Separating concerns simplifies error types. Differential Revision: https://phab.mercurial-scm.org/D9864
-
Simon Sapin authored
The `*Ref` struct only existed to avoid allocating `Vec`s when cloning `NodePrefix`, but we can avoid having `Vec` in the first place by using an inline array instead. This makes `NodePrefix` 21 bytes (with 1 for the length) which is smaller than before as `Vec` alone is 24 bytes. Differential Revision: https://phab.mercurial-scm.org/D9863
-
- Jan 30, 2021
-
-
Aay Jay Chan authored
Previously, churn cannot count added lines that start with "++ " or removed lines that start with "-- ". Differential Revision: https://phab.mercurial-scm.org/D9929
-
- Jan 25, 2021
-
-
Simon Sapin authored
We presumably don’t want `--rev ""` to select every single revision, even though the empty string is a prefix of all strings. Differential Revision: https://phab.mercurial-scm.org/D9862
-
Simon Sapin authored
If a string is not valid hexadecimal it’s not that useful to track the precise reason. Differential Revision: https://phab.mercurial-scm.org/D9861
-
Simon Sapin authored
This avoids allocating intermediate strings. Differential Revision: https://phab.mercurial-scm.org/D9860
-
- Jan 29, 2021
-
-
Simon Sapin authored
This follows e73b40c790ec which made tests use the release executable. With e73b40c790ec but not this, tests are skipped on CI because the executable is missing. Differential Revision: https://phab.mercurial-scm.org/D9907
-
Pierre-Yves David authored
Differential Revision: https://phab.mercurial-scm.org/D9923
-
Pierre-Yves David authored
Preventing direct access to the underlying dict will help a coming refactoring of `config`. Differential Revision: https://phab.mercurial-scm.org/D9922
-
Pierre-Yves David authored
Preventing direct access to the underlying dict will help a coming refactoring of `config`. Differential Revision: https://phab.mercurial-scm.org/D9921
-
Pierre-Yves David authored
Differential Revision: https://phab.mercurial-scm.org/D9917
-
Pierre-Yves David authored
Differential Revision: https://phab.mercurial-scm.org/D9916
-
Pierre-Yves David authored
Differential Revision: https://phab.mercurial-scm.org/D9915
-
- Jan 30, 2021
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D9913
-
- Jan 29, 2021
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D9912
-
Martin von Zweigbergk authored
A hook can be used for checking inputs, state, configuration, security, etc., so it's unclear which of the existing exit codes to use. Let's instead add one specifically for failed hooks. I picked 40. Differential Revision: https://phab.mercurial-scm.org/D9910
-
Augie Fackler authored
This was breaking my merge-diff logic that will be in the next patch. Differential Revision: https://phab.mercurial-scm.org/D9908
-
Pulkit Goyal authored
-
- Jan 27, 2021
-
-
Matt Harbison authored
Differential Revision: https://phab.mercurial-scm.org/D9885
-
- Jan 28, 2021
-
-
Simon Sapin authored
Use Rust’s `libc::ssize_t` as the closest match to C’s `Py_ssize_t`. See details in test comment. Going forward we should find a way to have such Rust declarations auto-generated from C headers at build time, or auto-checked against them in a test. Differential Revision: https://phab.mercurial-scm.org/D9901
-
Simon Sapin authored
Thanks to Mitchell Plamann for reporting this bug. The next commit fixes it. Differential Revision: https://phab.mercurial-scm.org/D9900
-
Martin von Zweigbergk authored
I don't think the bit about creating a merge in the filelog was correct. Or at least I couldn't find a case where it happened. Differential Revision: https://phab.mercurial-scm.org/D9899
-
Martin von Zweigbergk authored
2c5835b4246b changed the changegroup generation to not send treemanifests for directories the client had before widening. As that commit mentions, we had already stopped before that commit to send the changelog and filelogs for files the client already had. Differential Revision: https://phab.mercurial-scm.org/D9898
-
- Jan 15, 2021
-
-
Pierre-Yves David authored
Filelog based copy tracing only trace copy for file that have been added. This is a trade off between skipping some rare copy case in exchange for avoiding atrocious-to-the-point-of-unusable performance. The changeset centric copy tracing does not need this trade off and naturally trace all copy, include the one involving non-new files. In order to ease the comparison from both algorithm, we add a small devel option to trace copy for all files in the target revisions. Differential Revision: https://phab.mercurial-scm.org/D9796
-
- Jan 28, 2021
-
-
Raphaël Gomès authored
The current class uses module-level variables which don't allow for reusing the current logic for a slightly different revlog version. Differential Revision: https://phab.mercurial-scm.org/D9903
-
Raphaël Gomès authored
This allows us to define a usable v2. Differential Revision: https://phab.mercurial-scm.org/D9902
-
- Jan 27, 2021
-
-
Pierre-Yves David authored
This will help people to configure their black Differential Revision: https://phab.mercurial-scm.org/D9890
-
Pierre-Yves David authored
This will help understand possible mismatch Differential Revision: https://phab.mercurial-scm.org/D9889
-
Pierre-Yves David authored
This will help people to configure their black Differential Revision: https://phab.mercurial-scm.org/D9888
-
Pierre-Yves David authored
This will help understand possible mismatch Differential Revision: https://phab.mercurial-scm.org/D9887
-
Pierre-Yves David authored
Differential Revision: https://phab.mercurial-scm.org/D9886
-
- Jan 11, 2021
-
-
Nikita Slyusarev authored
Converting to subversion repository is not preserving original commit dates as it may break some subversion functionality if commit dates are not monotonically increasing. This patch adds `convert.svn.dangerous-set-commit-dates` configuration option to change this behaviour and enable commit dates convertion for those who want to take risks. Subversion always uses commit dates with UTC timezone, so only timestamps are used. Test `test-convert-svn-sink.t` uses `svnxml.py` script to dump history of svn repositories. Atm the script is not printing `date` field from svn log. This patch changes this to allow checks on correctness of date and time convertion. Documentation is updated. Additional test case is added to test commit dates convertion. Differential Revision: https://phab.mercurial-scm.org/D9721
-
- Jan 15, 2021
-
-
Pierre-Yves David authored
The conditional is much simpler and the test are actually happier. This clarification of the conditional will also be necessary to properly support tracing more renames in a coming changeset. Differential Revision: https://phab.mercurial-scm.org/D9795
-
Pierre-Yves David authored
This make the function a bit clearer. The middle conditional get no label because we about about to remove it. See next changeset for details. Differential Revision: https://phab.mercurial-scm.org/D9794
-
- Jan 16, 2021
-
-
Pierre-Yves David authored
The `graftcopies` function does something very strange (maybe even wrong), it calls `_filter` with a pair of changeset that does not match the one used to compute the copies informations. We are about to do some rework of `_filter` to make it closer to its documented intent and fix a couple of bug. This means some of the logic that only make sense for graft need to go somewhere else. We add the extra filtering with proper documentation to `graftcopies`. Differential Revision: https://phab.mercurial-scm.org/D9802
-
- Jan 22, 2021
-
-
Augie Fackler authored
I have no idea why this was here, and ripping it out doesn't obviously break anything for me (tests all pass, I can poke around chistedit UI a bit without issue), so I'm thinking we should rip it out and see if we get bug reports. Differential Revision: https://phab.mercurial-scm.org/D9855
-
Augie Fackler authored
If you try to have a 13-line-tall terminal and use curses histedit, it fails by spinning in an infinite loop due to the catch-all ignore of curses errors on line 1682 of histedit.py. We should also fix that catch-all ignore of curses errors (what other demons lurk here, I wonder?) but we can trivially catch this case and guide the user to a happy path. We've seen this mostly in IDE users that have a tendency to have really tiny embedded terminal windows. Differential Revision: https://phab.mercurial-scm.org/D9854
-