obsolete: refactor function for getting obsolete options
The function for returning obsolete option values obtains all
options, validates, then returns the option that was requested.
Let's create a new function to return all obsolete option values
so callers needing multiple values can call that.
Differential Revision: https://phab.mercurial-scm.org/D2667
setup: install cbor packages
Without this, standalone installs don't have the cbor files.
Differential Revision: https://phab.mercurial-scm.org/D2949
wireproto: review fixups
Capture various TODOs and return an explicit value. This
represents feedback from Yuya and Augie on various commits.
Differential Revision: https://phab.mercurial-scm.org/D2944
cbor: add a __init__.py to top level cbor module
Differential Revision: https://phab.mercurial-scm.org/D2752
cbor: fix core test-check*
This patch fixes couple of test-check* tests by making sure they skip
testing the third party library cbor.
Differential Revision: https://phab.mercurial-scm.org/D2751
thirdparty: vendor cbor2 python library
CBOR stands for Concise Binary Object Representation, which is a data format
which is very compact and extensible.
This patch moves the python library which can serilaize and deserialize python
objects to/from cbor formats. The library is taken from
https://github.com/agronholm/cbor2/ from commit
84181540f6eb650437e3f73cd104a65661fe8e67.
Unrequired files from the cbor library - docs/, tests/, setup.py, setup.cfg,
and tox.ini - have not been vendored.
There is another python library for cbor at
https://github.com/brianolson/cbor_py/ which is used in evolve extension and was
imported in initial version of this series. That library though contains C code
and is bit faster, but has known bugs around serializing nested structures, is
unmaintained, raises an Exception object instead of a more dedicated Error type.
So, it's better to use a bug free and actively maintained library.
This library is not yet used and will be used in later commits.
# no-check-commit because we are importing a third library module
Differential Revision: https://phab.mercurial-scm.org/D2750
merge: deprecate accessing update results by index
Now that we have named attributes, let's convert the code base to use
them. We also add deprecation warnings so legacy consumers are aware
of their transgressions.
``stats.unresolvedcount`` is much easier to read than ``stats[3]``,
don't you think?
Differential Revision: https://phab.mercurial-scm.org/D2694
procutil: introduce context-manager interface for protect/restorestdio
The code looks slightly cleaner since it was pretty easy to pass arguments
in wrong order.
procutil: move protectio/restoreio from commandserver
Some variants of this will be useful for stdio-based servers such as
sshserver.
commandserver: rewrite protectio/restoreio to not depend on ui
Prepares for porting to utils.procutil, in which ui shouldn't be known.
ui.flush() is replaced with ui.fout.flush() since ui.ferr wasn't involved.