Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Dec 2016 23:55:25 +0530] rev 30627
py3: make sure encoding.encoding is a bytes variable
encoding.encoding returns unicodes when locale.getpreferredencoding() is used
to get the preferred encoding. This patch fixes that.
Jun Wu <quark@fb.com> [Mon, 19 Dec 2016 22:15:00 +0000] rev 30626
chg: remove locks
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 <quark@fb.com> [Mon, 19 Dec 2016 22:09:49 +0000] rev 30625
chg: start server at a unique address
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 <quark@fb.com> [Mon, 19 Dec 2016 22:07:41 +0000] rev 30624
chgserver: truncate base address at "." for hash address
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.
Yuya Nishihara <yuya@tcha.org> [Sun, 23 Oct 2016 17:47:00 +0900] rev 30623
ui: do not translate empty configsource() to 'none' (API)
It should be processed when displaying data, so we can get "source": "" in
JSON output.
Yuya Nishihara <yuya@tcha.org> [Sun, 18 Dec 2016 16:20:04 +0900] rev 30622
convert: remove unused-but-set variable introduced in db9e883566e8
Spotted by pyflakes.
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Dec 2016 20:24:46 +0530] rev 30621
py3: replace os.sep with pycompat.ossep (part 4 of 4)
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Dec 2016 20:14:24 +0530] rev 30620
py3: replace os.sep with pycompat.ossep (part 3 of 4)
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Dec 2016 20:02:50 +0530] rev 30619
py3: replace os.sep with pycompat.ossep (part 2 of 4)
This part also replaces some chunks of os.sep with pycompat.ossep.
Pulkit Goyal <7895pulkit@gmail.com> [Sat, 17 Dec 2016 19:56:30 +0530] rev 30618
py3: replace os.sep with pycompat.ossep (part 1 of 4)
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 <7895pulkit@gmail.com> [Sat, 17 Dec 2016 19:47:17 +0530] rev 30617
py3: replace os.pathsep with pycompat.ospathsep
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 <7895pulkit@gmail.com> [Sat, 17 Dec 2016 19:36:40 +0530] rev 30616
py3: use %d instead of %s for integers
Python 3 returns an error if we use %s as type specifiers for integers.
Martin von Zweigbergk <martinvonz@google.com> [Fri, 16 Dec 2016 09:48:14 -0800] rev 30615
help: make multirevs just an alias for revsets
The multirevs topis seems to be covered well by the revsets topic, so
just make it an alias and remove multirevs.txt.
Jun Wu <quark@fb.com> [Fri, 16 Dec 2016 21:02:39 +0000] rev 30614
context: correct metadataonlyctx's parameter
It's "originalctx", not "path" as Yuya pointed in [1].
[1]: www.mercurial-scm.org/pipermail/mercurial-devel/2016-December/091508.html