- Oct 13, 2019
-
-
Matt Harbison authored
Otherwise the file sizes printed in the output diverge from other platforms. Differential Revision: https://phab.mercurial-scm.org/D7081
-
Matt Harbison authored
Windows can't create a process based on bytes. Apparently only the output test in `matchoutput` wants bytes. Differential Revision: https://phab.mercurial-scm.org/D7080
-
Matt Harbison authored
This prevents a bunch of failures on Windows. Differential Revision: https://phab.mercurial-scm.org/D7079
-
- Oct 12, 2019
-
-
Martin von Zweigbergk authored
# skip-blame just reformatting Differential Revision: https://phab.mercurial-scm.org/D7064
-
- Oct 04, 2019
-
-
Ian Moody authored
ModuleNotFoundError was introduced in 3.6, so the tests need to expect to see ImportError with 3.5. Differential Revision: https://phab.mercurial-scm.org/D7063
-
- Oct 06, 2019
-
-
Ian Moody authored
These are relatively simple so add them together. As the name indicates, these add phabchange objects for removed and modified files to the phabdiff. Differential Revision: https://phab.mercurial-scm.org/D7049
-
Ian Moody authored
These populate the phabchange with the data for a binary file, much as maketext does for text files. Differential Revision: https://phab.mercurial-scm.org/D7048
-
Ian Moody authored
This is needed to be able to submit binary files such as images in commits (and also non-UTF-8 text files). One of the primary disadvantages of the current use of createrawdiff is that Phabricator simply drops any binary diffs included in the patch, but not the files, so if such a diff is then committed it corrupts any binary files in it. Differential Revision: https://phab.mercurial-scm.org/D7047
-
Ian Moody authored
Differential Revision: https://phab.mercurial-scm.org/D7046
-
Ian Moody authored
This add the diff data for a text file to a phabchange. Differential Revision: https://phab.mercurial-scm.org/D7045
-
Ian Moody authored
This holds all the data about a commit, and is passed to the differential.creatediff API. Differential Revision: https://phab.mercurial-scm.org/D7044
-
Ian Moody authored
These store data about individual files in a commit. Differential Revision: https://phab.mercurial-scm.org/D7043
-
Ian Moody authored
These store the actual diff data (for UTF-8 text files anyway) and are equivalent to hunks in a patch file. Differential Revision: https://phab.mercurial-scm.org/D7042
-
Ian Moody authored
These are used in Phabricator change objects. There are more values but so far as I can tell we don't need them. Differential Revision: https://phab.mercurial-scm.org/D7041
-
Rodrigo Damazio Bovendorp authored
Differential Revision: https://phab.mercurial-scm.org/D6998
-
- Sep 15, 2019
-
-
Yuya Nishihara authored
-
Yuya Nishihara authored
-
Yuya Nishihara authored
PySharedRef is a tempoary wrapper around PySharedRefCell. It provides safe functions for each shared data. $shared_accessor implements a safe method to construct PySharedRefCell. This allows us to add more than once PySharedRefCell to a Python object.
-
- Sep 08, 2019
-
-
Yuya Nishihara authored
It wasn't easy to hack the $leaked struct since errors in macro would generate lots of compile errors. Let's make it a plain struct so we can easily extend it. PyLeakedRef keeps a more generic PyObject instead of the $name struct since it no longer has to call any specific methods implemented by the $name class. $leaked parameter in py_shared_iterator!() is kept for future change.
-
- Sep 15, 2019
-
-
Yuya Nishihara authored
I want to move it out of the macro, and allow multiple sharable objects per PyObject.
-
- Sep 16, 2019
-
-
Yuya Nishihara authored
The goal is to store &'static PySharedState in $leaked struct, which allows us to move the $leaked struct out of the macro. Currently, it depends on inner.$data_member(py), which can't be generalized. PySharedState is Sync because any mutation or read operation is synchronized by the Python GIL, py: Python<'a>, which should guarantee that &'PySharedState can be sent to another thread.
-
- Sep 14, 2019
-
-
Yuya Nishihara authored
PySharedRefCell() will host almost all py_shared public functions. This change is the first step. borrow_mut() can be safely implemented since PySharedRefCell knows its inner object is managed by its own py_shared_state.
-
Yuya Nishihara authored
The goal of this series is to encapsulate more "py_shared" thingy and reduce the size of the macro, which is hard to debug. Since py_shared_state manages the borrowing state of the object owned by PySharedRefCell, this change makes more sense. If a PyObject has more than one data to be leaked into Python world, each PySharedState should incref the parent PyObject, and keep track of the corresponding borrowing state.
-
- Oct 10, 2019
-
-
Denis Laxalde authored
smtplib.SMTP.login() requires str on Python 3. For 'password', we only need to decode when value comes from config as getpass() returns the correct type already.
-
Denis Laxalde authored
The latter (undocumented internal) class got removed in Python 3.3. Use socket.makefile() as suggested: https://docs.python.org/3/whatsnew/3.3.html#porting-python-code
-
Denis Laxalde authored
Otherwise, this always returns (502, '5.5.2 Error: command not recognized').
-
Denis Laxalde authored
Passing a bytes on Python 3 always returns False, thus starttls is not properly detected.
-
Denis Laxalde authored
Last item of marker tuple (parents) is either None or tuple. Comparison thus fails on Python 3 with: TypeError: '<' not supported between instances of 'tuple' and 'NoneType' Fixing this by coercing None to the empty tuple when sorting markers in exchange._getbundleobsmarkerpart().
-
Pierre-Yves David authored
We don't want setup configured to use the final version that would end using the experimental one while using and older version. Differential Revision: https://phab.mercurial-scm.org/D7040
-
Denis Laxalde authored
With previous changeset fixing line buffering on stdout, this is no longer needed.
-
Denis Laxalde authored
According to https://docs.python.org/3/library/functions.html#open, it's not possible to use 1 as buffering argument value in binary mode. This is probably why line buffering does not work well in python3. On the other hand, sys.stdout.buffer appears to be line-buffered already on python3. So by not replacing it, there should be no behavior change. This fixes buffering issue in "hg email" (confirmation prompt shown before information to be confirmed).
-
- Oct 08, 2019
-
-
Gregory Szorc authored
This is needed to avoid a str/bytes mismatch when interpolating a line or 2 later. Differential Revision: https://phab.mercurial-scm.org/D7021
-
- Oct 05, 2019
-
-
Kyle Lippincott authored
Differential Revision: https://phab.mercurial-scm.org/D6989
-
- Oct 10, 2019
-
-
Georges Racinet authored
rust-cpython converts automatically from Rust strings to the appropriate `str` for the target Python version. Insisting on discovery stats dict keys to be bytes hence breaks the process (this is spotted by test-setdiscovery.t). Now that byteify-strings has been run on the entire codebase, and the import transformer is not there any more, the simplest fix is to make the keys plain str again. Another possible fix would be to forcefully convert to bytes in rust-cpython code, but that feels less natural, and would probably have to be reverted down the road. Differential Revision: https://phab.mercurial-scm.org/D7039
-
Pierre-Yves David authored
Same as `perfhelper-pathcopies`. The previous computation `<base>::<target>` was wrong, what we actually need is `::<target> - ::<base>`. This is now fixed.
-
- Oct 02, 2019
-
-
Pierre-Yves David authored
The previous computation `<base>::<target>` was wrong, what we actually need is `::<target> - ::<base>`. This is now fixed
-
- Oct 10, 2019
-
-
Denis Laxalde authored
This fixes a crash when scrolling in curses UI when refresh() is called when a float value (namely 'self.firstlineofpadtoprint', taking its value indirectly from 'self.linesprintedtopadsofar').
-
Denis Laxalde authored
The attribute is already set a couple of lines above, in curseschunkselector.__init__().
-
Denis Laxalde authored
-
Denis Laxalde authored
This fixes test-import.t on python3. We add Generator alias in mail module to handle python2/python3 compatibility.
-