- Dec 18, 2016
-
-
Gregory Szorc authored
By default, Git applies rename and copy detection to 400 files. The diff.renamelimit config option and -l argument to diff commands can override this. As part of converting some repositories in the wild, I was hitting the default limit. Unfortunately, the warnings that Git prints in this scenario are swallowed because the process running functionality in common.py redirects stderr to /dev/null by default. This seems like a bug, but a bug for another day. This commit establishes a config option to send the rename limit through to `git diff-tree`. The added tests demonstrate a too-low rename limit doesn't result in copy metadata being recorded.
-
- Dec 21, 2016
-
-
Yuya Nishihara authored
On Wed, 21 Dec 2016 15:39:05 +0000, Jun Wu wrote: > Actually, patch 1 is unnecessary if we go with the "ui._runpager" approach. > Maybe someone can drop it without adding too many markers.
-
- Dec 16, 2016
-
-
Jun Wu authored
Next patches will customize chgserver's runcommand. So let's override it. The docstring is temporarily missing and will be filled later.
-
Jun Wu authored
Previously, the "system" channel is inside the ui object. In the future, chg will let dispatch to create a new ui object from scratch, to maximize compatibility. And chgserver will use a "uisetup" like an extension to wrap ui.system. To be able to do that cleanly, the system channel needs to be accessed directly.
-
- Dec 18, 2016
-
-
Pulkit Goyal authored
-
Pulkit Goyal authored
sys.platform returns unicode on python 3 world. Our code base has most of the things bytes because of the transformer. So we have a bytes version of this as pycompat.sysplatform. This series of 2 patches replaces occurences of sys.platform with pycompat.sysplatform.
-
Pulkit Goyal authored
-
Pulkit Goyal authored
os.name returns unicodes on py3 and we have pycompat.osname which returns bytes. This series of 2 patches will change every ocurrence of os.name with pycompat.osname.
-
- Dec 17, 2016
-
-
Pulkit Goyal authored
-
Pulkit Goyal authored
-
Pulkit Goyal authored
-
Pulkit Goyal authored
-
Pulkit Goyal authored
os.environ is a dictionary which has string elements on Python 3. We have encoding.environ which take care of all these things. This is the first patch of 5 patch series which tend to replace the occurences of os.environ with encoding.environ as using os.environ will result in unusual behaviour.
-
- Dec 21, 2016
-
-
David Soria Parra authored
pywatchman is imported from upstream and therefore fails to pass linting. We have added 'no-check-code' manually to every file in the past. This is cumbersome and modifies upstream sources.
-
- Dec 20, 2016
-
-
David Soria Parra authored
We are using read-only attributes that parse the perforce data on demand. We are reading the data only once whenever an attribute is requested and use it throughout the import process. This is equivalent to the previous behavior, but we are avoiding reading from perforce when we initialize the object, but instead run it during the actual import process, when the first attribute is requested (usually getheads(), see `convertcmd.convert`).
-
David Soria Parra authored
-
David Soria Parra authored
-
David Soria Parra authored
-
- Dec 19, 2016
-
-
Pierre-Yves David authored
There was multiple spot that took care of adding '03' as supported changegroup version for different condition. We gather them all in one location for simplicity. The 'supportedincomingversions' function is now doing nothing, but I kept it around because it looks like a great hooking point for extension. (Note that we should probably just get changegroup3 out of experimental now, But that would be a patch with a much wider scope).
-
Pierre-Yves David authored
In the next changesets, we will introduce more logic directly related to the repository to decide what version have to be supported. So we now directly pass the repo object instead of just ui.
-
Pierre-Yves David authored
Discarding '03' to add it back is a bit strange. Instead we only discard it when needed.
-
- Dec 17, 2016
-
-
Pulkit Goyal authored
All the occurences of os.altsep are replaced with pycompat.altsep which returns bytes.
-
Pulkit Goyal authored
sys.platform returns unicodes on Python 3. This patch adds up pycompat.sysplatform which returns bytes.
-
Pulkit Goyal authored
os.altsep returns unicodes on Python 3. We need a bytes version hence added pycompat.altsep.
-
Pulkit Goyal authored
encoding.encoding returns unicodes when locale.getpreferredencoding() is used to get the preferred encoding. This patch fixes that.
-
- Dec 19, 2016
-
-
Jun Wu authored
See the previous two patches for the reason. The advantage is a simplified code base and better throughput when starting multiple servers with multiple confighashes. The disadvantage is starting multiple servers in parallel with a single confighash will waste some CPU time, which is probably fine in common use-cases. This makes it easier to switch to relative paths to support long unix domain socket paths.
-
Jun Wu authored
See the previous patch for motivation. Previously, the server is started at a globally shared address. This patch appends pid to the address so it becomes unique. Note: with Linux pid namespace, the address may be non-unique, but it does not affect correctness of chg - chg client will receive an redirection and that's it.
-
Jun Wu authored
Previously, the hash address is just appending "-$HASH" to base address. This patch makes it truncate the basename address at "." before appending "-$HASH". This makes it possible to spawn new servers in a racy situation and the client could be sure the server it connects is the new server just spawned. This is a step towards removing the lock. One of the functionalities of the lock is to make sure the connect will connect to a server it just created: 1. start server --address foo 2. connect to foo # wish "foo" is the server just started With this change, the client could do: 1. start server --address foo.tmp$PID 2. connect to foo.tmp$PID # is the server just started (note: if it is not, it does not affect correctness - linux pid namespace is not a concern here) 3. rename foo.tmp$PID to foo Another functionality of the lock is to avoid starting multiple servers with a same confighash in parallel. But that also prevents starting multiple servers with different confighashes in parallel.
-
- Oct 23, 2016
-
-
Yuya Nishihara authored
It should be processed when displaying data, so we can get "source": "" in JSON output.
-
- Dec 18, 2016
-
-
Yuya Nishihara authored
Spotted by pyflakes.
-
- Dec 17, 2016
-
-
Pulkit Goyal authored
-
Pulkit Goyal authored
-
Pulkit Goyal authored
This part also replaces some chunks of os.sep with pycompat.ossep.
-
Pulkit Goyal authored
os.sep returns unicodes on Python 3. We have pycompat.ossep which returns bytes. This patch is a part of 4 patch series which will replace all the occurrences of os.sep to pycompat.ossep
-
Pulkit Goyal authored
os.pathsep returns unicode on Python 3. We already have pycompat.ospathsep which return bytes on Python 3. This patch replaces all the occurrences of os.pathsep in the codebase (excluding tests) to pycompat.ospathsep.
-
Pulkit Goyal authored
Python 3 returns an error if we use %s as type specifiers for integers.
-
- Dec 16, 2016
-
-
Martin von Zweigbergk authored
The multirevs topis seems to be covered well by the revsets topic, so just make it an alias and remove multirevs.txt.
-
Jun Wu authored
It's "originalctx", not "path" as Yuya pointed in [1]. [1]: www.mercurial-scm.org/pipermail/mercurial-devel/2016-December/091508.html
-
- Dec 12, 2016
-
-
Pierre-Yves David authored
Previous, registering different object with the same name would silently overwrite the first value with the second one. We now detect the situation and raise an error. No extension in test or core had the issues.
-
- Oct 16, 2016
-
-
Yuya Nishihara authored
Perhaps this was a predated attempt of Python 3 porting. Python 3.5 supports %-formatting of bytes.
-