Mathias De Mare <mathias.de_mare@nokia.com> [Wed, 11 Nov 2020 20:44:45 +0100] rev 45935
packaging: enable rust extensions on centos
Test on CentOS 7, repository with ~170000 tracked files,
no untracked files:
10 runs with this enabled:
-- Run #0 time: 0.6519973278045654
-- Run #1 time: 0.6933724880218506
-- Run #2 time: 0.7512078285217285
-- Run #3 time: 0.7517638206481934
-- Run #4 time: 0.5966529846191406
-- Run #5 time: 0.5960886478424072
-- Run #6 time: 0.5940573215484619
-- Run #7 time: 0.5963726043701172
-- Run #8 time: 0.6048009395599365
-- Run #9 time: 0.603604793548584
10 runs without this enabled:
-- Run #0 time: 2.127584457397461
-- Run #1 time: 2.066192865371704
-- Run #2 time: 2.0831892490386963
-- Run #3 time: 2.077716588973999
-- Run #4 time: 2.07608962059021
-- Run #5 time: 2.072899341583252
-- Run #6 time: 2.094369888305664
-- Run #7 time: 2.067504644393921
-- Run #8 time: 2.069610834121704
-- Run #9 time: 2.0567898750305176
Differential Revision: https://phab.mercurial-scm.org/D9294
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Nov 2020 22:46:09 -0500] rev 45934
tests: use `testrepohg` in one more place in test-check-code.t
This is already used elsewhere in the test to access the current hg repo, and
avoids an error about the unknown `revlog-compression-zstd` when C extensions
aren't built. The only other such error is in test-check-interfaces.py, but I
don't see a way to avoid it other than to create an empty scratch repo.
Differential Revision: https://phab.mercurial-scm.org/D9364
Matt Harbison <matt_harbison@yahoo.com> [Sat, 21 Nov 2020 16:20:49 -0500] rev 45933
setup: copy pythonXY.dll next to the hg.exe wrapper when building
This avoids the problem of having the newly built binary complaining that it
can't find the DLL. There is an option in the python.org installer to add the
python install to PATH (which defaulted to "on" with py2, and therefore was not
an issue up to this point), but that makes switching between python versions
harder.
This shouldn't be an issue with the PyOxidizer binary, but that current has
issues running some of the tests, and took noticeably longer to build last time
I tried it.
Differential Revision: https://phab.mercurial-scm.org/D9362
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Nov 2020 15:07:09 -0500] rev 45932
exthelper: update the examples to be python3 complaint
Differential Revision: https://phab.mercurial-scm.org/D9368
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Nov 2020 14:55:40 -0500] rev 45931
helptext: byteify extensions examples
Make it easier on the copy/paste crowd. I haven't looked at the other help text
to see if there are other instances; I was just looking to confirm `buglink` is
meant to be bytes and this popped up along with the code.
Differential Revision: https://phab.mercurial-scm.org/D9367
Matt Harbison <matt_harbison@yahoo.com> [Sun, 22 Nov 2020 14:53:17 -0500] rev 45930
helptext: fix sentence in extensions documentation
Differential Revision: https://phab.mercurial-scm.org/D9366
Matt Harbison <matt_harbison@yahoo.com> [Mon, 23 Nov 2020 11:47:06 -0500] rev 45929
ui: ensure `getpass()` returns bytes
Previously, this could return either bytes or str. I'm not sure which direction
we should go in, but since the input is bytes, I guess bytes makes sense as
output. `debuguigetpass` crashed because it assumed bytes would be returned,
`sslcontext.load_cert_chain()` is happy with bytes or str if the type info in
PyCharm is correct, and `smtplib.SMTP.login()` wants str.
I couldn't figure out how to test this, because the test stalls for input with
`echo test | hg debuguigetpass --config ui.interactive=1`, likely because it
drains stdin before prompting. The custom input reading with `ui.nontty=1` does
not.
I'm also a bit concerned with all of this encoding/decoding. The existing code
in the mail module uses `encoding.strfromlocal()`, but the username and password
are ascii encoded/decoded in `mercurial.url.passwordmgr.find_user_password()`
with `pycompat.{str,bytes}url()`. I'm not sure if this inconsistency could
cause subtle compatability issues.
Differential Revision: https://phab.mercurial-scm.org/D9375
Matt Harbison <matt_harbison@yahoo.com> [Thu, 26 Nov 2020 02:28:42 -0500] rev 45928
packaging: regenerate the Windows requirements manifest on Windows
SecretStorage is a Linux package, and the other stuff removed is a dependency of
it. I assume this was last generated on Linux, and noticed this trying to add
another package and regenerating on Windows.
Differential Revision: https://phab.mercurial-scm.org/D9404
Matt Harbison <matt_harbison@yahoo.com> [Thu, 26 Nov 2020 03:09:56 -0500] rev 45927
pyoxidizer: point to the py3 requirements instead of py2 on Windows
Differential Revision: https://phab.mercurial-scm.org/D9406
Augie Fackler <raf@durin42.com> [Wed, 25 Nov 2020 22:38:23 -0500] rev 45926
git: update test for hg and git output changes
Clearly nobody is running this in their CI. :(
Differential Revision: https://phab.mercurial-scm.org/D9403
Augie Fackler <raf@durin42.com> [Wed, 25 Nov 2020 22:23:23 -0500] rev 45925
gitlog: add tiprev() function
Lots of stuff was broken because this was missing.
Differential Revision: https://phab.mercurial-scm.org/D9402
Simon Sapin <simon-commits@exyr.org> [Tue, 24 Nov 2020 17:49:16 +0100] rev 45924
requirements: move loading to hg-core and add parsing
No functional change, checking comes later.
Differential Revision: https://phab.mercurial-scm.org/D9398
Simon Sapin <simon-commits@exyr.org> [Tue, 24 Nov 2020 15:11:58 +0100] rev 45923
rhg: add a `debugrequirements` subcommand
For now it only prints the contents of `.hg/requires` as-is, without parsing.
Differential Revision: https://phab.mercurial-scm.org/D9397
Augie Fackler <augie@google.com> [Wed, 25 Nov 2020 11:08:28 -0500] rev 45922
pyoxidizer: make sure defaultrc directory exists before trying to write to it
When doing some work involving one-file binaries, this line is failing
for me. It seems reasonable to just make sure the destination
directory exists before splatting the file into it.
Differential Revision: https://phab.mercurial-scm.org/D9401
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 21 Nov 2020 13:30:50 +0530] rev 45921
commands: fix checking of share safe requirement on `config --shared`
The `if requirements.SHARESAFE_REQUIREMENT in ...` was wrongly placed inside
another if statement which made the check unreachable.
Differential Revision: https://phab.mercurial-scm.org/D9360
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 20 Nov 2020 14:34:15 +0530] rev 45920
dispatch: pass root path in ui.readconfig() as root of main repo
Since we are reading main (shared-source) repository config options, we
should pass root as that repository root only.
Differential Revision: https://phab.mercurial-scm.org/D9359
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 16 Oct 2020 19:03:09 +0530] rev 45919
scmutil: try-delete `.hg/store/requires` if store requirements are empty
When downgrading from a shared-safe repository to non-shared-safe repository, we
end up in a case where we had requirements stored in `.hg/store/requires` but no
longer want them there.
Let's explicitly try delete the `.hg/store/requires` file if store requirements
are empty.
Differential Revision: https://phab.mercurial-scm.org/D9357
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 10:39:51 -0800] rev 45918
errors: raise InputError on bad top-level flags
Differential Revision: https://phab.mercurial-scm.org/D9388
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 23:08:58 -0800] rev 45917
errors: raise StateError on uncommitted changes when merge starts
Differential Revision: https://phab.mercurial-scm.org/D9393
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 16:48:13 -0800] rev 45916
errors: raise StateError when there are unresolves merge conflicts
Differential Revision: https://phab.mercurial-scm.org/D9392
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 16:20:02 -0800] rev 45915
errors: introduce SecurityError and use it in a few places
This is part of
https://www.mercurial-scm.org/wiki/ErrorCategoriesPlan. There are
perhaps more errors in `sslutil.py` that should raise `SecurityError`;
I picked the most clear ones to start with.
Differential Revision: https://phab.mercurial-scm.org/D9390
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 16:05:03 -0800] rev 45914
errors: raise InputError when too few arguments given to alias
Differential Revision: https://phab.mercurial-scm.org/D9389
Martin von Zweigbergk <martinvonz@google.com> [Tue, 17 Nov 2020 16:32:03 -0800] rev 45913
errors: raise InputError on bad bookmark argument
Differential Revision: https://phab.mercurial-scm.org/D9385
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 12:27:22 -0800] rev 45912
errors: raise ConfigError on bad alias definition
Differential Revision: https://phab.mercurial-scm.org/D9384
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 10:42:03 -0800] rev 45911
errors: raise InputError on bad repo arguments
I'm not sure if one of these should be StateError...
Differential Revision: https://phab.mercurial-scm.org/D9383
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 14:48:05 -0800] rev 45910
errors: drop trailing "!" for some errors about bookmarks
Differential Revision: https://phab.mercurial-scm.org/D9382
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 12:47:08 -0800] rev 45909
errors: remove trailing "!" in messages about bad top-level args
Differential Revision: https://phab.mercurial-scm.org/D9381
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 12:42:57 -0800] rev 45908
errors: remove trailing "!" in messages about creating new heads on push
Differential Revision: https://phab.mercurial-scm.org/D9380
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 12:31:53 -0800] rev 45907
errors: consistently don't use trailing "!" in "not found in manifest" message
We already had some places with the same message without the trailing
"!".
Differential Revision: https://phab.mercurial-scm.org/D9379
Martin von Zweigbergk <martinvonz@google.com> [Mon, 23 Nov 2020 11:18:48 -0800] rev 45906
errors: remove trailing "!" from some error messages for consistency
Some types of exceptions had a trailing "!" printed after the message
from the exception itself. I guess some of these errors seem a little
more severe (?), but it seems more likely that the inconsistency was
just an oversight.
Differential Revision: https://phab.mercurial-scm.org/D9378