Mercurial > hg
annotate README.rst @ 51723:9367571fea21
cext: correct the argument handling of `b85encode()`
The type stub indicated that this argument is `Optional`, which implies None is
allowed. I don't see in the documentation where that's the case for `i`[1], and
trying it in `hg debugshell` resulted in the method failing with a TypeError. I
guess it was typed as an `int` argument because the `p` format unit wasn't added
until Python 3.3[2].
In any event, 2 clients in core (`pvec` and `obsolete`) call this with no
argument supplied, and `mdiff` calls it with True. So I guess we've avoided the
None arg case, and when no arg is supplied, it defaults to the 0 initialization
of the `pad` variable in C. Since the `p` format unit accepts both `int` and
None, as well as `bool`, I'm not bothering to bump the module version- this code
is more permissive than it was, in addition to being more correct.
Interestingly, when I first imported the `cext` and `pure` methods in the same
manner as the previous commit, it dropped the `Optional` part of the argument
type when generating `util.pyi`. No idea why.
[1] https://docs.python.org/3/c-api/arg.html#numbers
[2] https://docs.python.org/3/c-api/arg.html#other-objects
author | Matt Harbison <matt_harbison@yahoo.com> |
---|---|
date | Sat, 20 Jul 2024 01:55:09 -0400 |
parents | c5912e35d06d |
children |
rev | line source |
---|---|
12857
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
1 Mercurial |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
2 ========= |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
3 |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
4 Mercurial is a fast, easy to use, distributed revision control tool |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
5 for software developers. |
a9f91c844a3b
README: add small introduction
Martin Geisler <mg@lazybytes.net>
parents:
12856
diff
changeset
|
6 |
33618
76b171209151
README: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
26421
diff
changeset
|
7 Basic install:: |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
8 |
3935 | 9 $ make # see install targets |
10 $ make install # do a system-wide install | |
11 $ hg debuginstall # sanity-check setup | |
12 $ hg # see help | |
205
d255d99a7cbd
README: integrate some changes from Kevin Smith
mpm@selenic.com
parents:
204
diff
changeset
|
13 |
33618
76b171209151
README: make paragraphs before example code end with "::" for reST syntax
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
26421
diff
changeset
|
14 Running without installing:: |
16217
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
15 |
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
16 $ make local # build for inplace usage |
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
17 $ ./hg --version # should show the latest version |
df5ecb813426
readme: mention how to run in-place
Ross Lagerwall <rosslagerwall@gmail.com>
parents:
12857
diff
changeset
|
18 |
26421
4b0fc75f9403
urls: bulk-change primary website URLs
Matt Mackall <mpm@selenic.com>
parents:
16217
diff
changeset
|
19 See https://mercurial-scm.org/ for detailed installation |
3935 | 20 instructions, platform-specific notes, and Mercurial user information. |
46756
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
21 |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
22 Notes for packagers |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
23 =================== |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
24 |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
25 Mercurial ships a copy of the python-zstandard sources. This is used to |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
26 provide support for zstd compression and decompression functionality. The |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
27 module is not intended to be replaced by the plain python-zstandard nor |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
28 is it intended to use a system zstd library. Patches can result in hard |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
29 to diagnose errors and are explicitly discouraged as unsupported |
c5912e35d06d
README: document requirement for builtin zstd
Joerg Sonnenberger <joerg@bec.de>
parents:
34579
diff
changeset
|
30 configuration. |