Sun, 22 May 2016 13:45:09 +0900 commandserver: drop old unixservice implementation
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 13:45:09 +0900] rev 29548
commandserver: drop old unixservice implementation It's been superseded by unixforkingservice.
Sun, 22 May 2016 13:36:37 +0900 chgserver: switch to new forking service
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 13:36:37 +0900] rev 29547
chgserver: switch to new forking service Threading and complex classes are no longer necessary. _autoexitloop() has been replaced by polling cycle in the main thread.
Sun, 22 May 2016 13:13:04 +0900 chgserver: extract stub factory of service object
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 13:13:04 +0900] rev 29546
chgserver: extract stub factory of service object The class inheritance will be replaced by composition. See the next patch for details.
Sun, 22 May 2016 13:08:30 +0900 chgserver: reorder service classes to make future patches readable
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 13:08:30 +0900] rev 29545
chgserver: reorder service classes to make future patches readable Includes no functional change.
Sun, 22 May 2016 11:43:18 +0900 commandserver: add new forking server implemented without using SocketServer
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 11:43:18 +0900] rev 29544
commandserver: add new forking server implemented without using SocketServer SocketServer.ForkingMixIn of Python 2.x has a couple of issues, such as: - race condition that leads to 100% CPU usage (Python 2.6) https://bugs.python.org/issue21491 - can't wait for children belonging to different process groups (Python 2.6) - leaves at least one zombie process (Python 2.6, 2.7) https://bugs.python.org/issue11109 The first two are critical because we do setpgid(0, 0) in child process to isolate terminal signals. The last one isn't, but ForkingMixIn seems to be doing silly. So there are two choices: a) backport and maintain SocketServer until we can drop support for Python 2.x b) replace SocketServer by simpler one and eliminate glue codes I chose (b) because it's great time for getting rid of utterly complicated SocketServer stuff, and preparing for future move towards prefork service. New unixforkingservice is implemented loosely based on chg 531f8ef64be6. It is monolithic but much simpler than SocketServer. unixservicehandler provides customizing points for chg, and it will be shared with future prefork service. Old unixservice class is still used by chgserver. It will be removed later. Thanks to Jun Wu for investigating these issues.
Sun, 22 May 2016 12:49:22 +0900 commandserver: extract function that serves for the current connection
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 12:49:22 +0900] rev 29543
commandserver: extract function that serves for the current connection This will be used by new server implementation.
Sun, 22 May 2016 12:44:25 +0900 commandserver: manually create file objects from socket
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 12:44:25 +0900] rev 29542
commandserver: manually create file objects from socket Prepares for moving away from SocketServer. See the subsequent patches for why.
Wed, 13 Jul 2016 10:46:26 +0200 bdiff: split bdiff into cpy-aware and cpy-agnostic part
Maciej Fijalkowski <fijall@gmail.com> [Wed, 13 Jul 2016 10:46:26 +0200] rev 29541
bdiff: split bdiff into cpy-aware and cpy-agnostic part
Wed, 13 Jul 2016 10:07:17 +0200 bdiff: rename functions and structs to be amenable for later exporting
Maciej Fijalkowski <fijall@gmail.com> [Wed, 13 Jul 2016 10:07:17 +0200] rev 29540
bdiff: rename functions and structs to be amenable for later exporting
Wed, 13 Jul 2016 09:36:24 +0200 bdiff: use ssize_t in favor of Py_ssize_t in cpython-unaware locations
Maciej Fijalkowski <fijall@gmail.com> [Wed, 13 Jul 2016 09:36:24 +0200] rev 29539
bdiff: use ssize_t in favor of Py_ssize_t in cpython-unaware locations This function and struct will be exposed via cffi, so we need to remove the cpython API dependency they currently have.
Thu, 14 Jul 2016 12:33:44 +0800 hgweb: enumerate lines in loop header, not before
Anton Shestakov <av6@dwimlabs.net> [Thu, 14 Jul 2016 12:33:44 +0800] rev 29538
hgweb: enumerate lines in loop header, not before Doing this will allow access to the lines in arbitrary order (because the result of enumerate() is an iterator), and that will help calculating rowspan for annotate blocks.
Wed, 13 Jul 2016 19:33:52 -0700 sslutil: add assertion to prevent accidental CA usage on Windows
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 13 Jul 2016 19:33:52 -0700] rev 29537
sslutil: add assertion to prevent accidental CA usage on Windows Yuya suggested we add this check to ensure we don't accidentally try to load user-writable paths on Windows if we change the control flow of this function later.
Wed, 13 Jul 2016 16:16:18 +0100 shelve: make unshelve be able to abort in any case
Kostia Balytskyi <ikostia@fb.com> [Wed, 13 Jul 2016 16:16:18 +0100] rev 29536
shelve: make unshelve be able to abort in any case
Wed, 13 Jul 2016 10:39:33 -0400 osx: explicitly build hg with /usr/bin/python2.7
Augie Fackler <augie@google.com> [Wed, 13 Jul 2016 10:39:33 -0400] rev 29535
osx: explicitly build hg with /usr/bin/python2.7 This should help avoid creating a package that depends on a custom Python, as happened when I built a package for 3.8.
Wed, 13 Jul 2016 11:26:44 -0400 osx: correct comment about ordering of welcome page
Augie Fackler <augie@google.com> [Wed, 13 Jul 2016 11:26:44 -0400] rev 29534
osx: correct comment about ordering of welcome page
Wed, 13 Jul 2016 11:24:31 -0400 osx: jettison outdated build instructions
Augie Fackler <augie@google.com> [Wed, 13 Jul 2016 11:24:31 -0400] rev 29533
osx: jettison outdated build instructions
Sun, 22 May 2016 11:21:11 +0900 commandserver: extract _cleanup() hook to clarify chg is doing differently
Yuya Nishihara <yuya@tcha.org> [Sun, 22 May 2016 11:21:11 +0900] rev 29532
commandserver: extract _cleanup() hook to clarify chg is doing differently This makes it clear that chg needs its own way to unlink closed socket file. I made a mistake in draft patches without noting the difference.
Sat, 21 May 2016 17:06:39 +0900 chgserver: drop repo at chgunixservice.__init__()
Yuya Nishihara <yuya@tcha.org> [Sat, 21 May 2016 17:06:39 +0900] rev 29531
chgserver: drop repo at chgunixservice.__init__() Since it isn't expensive operation, we don't have to delay it to init().
Sat, 21 May 2016 16:52:04 +0900 chgserver: extract utility to bind unix domain socket to long path
Yuya Nishihara <yuya@tcha.org> [Sat, 21 May 2016 16:52:04 +0900] rev 29530
chgserver: extract utility to bind unix domain socket to long path This is common problem of using sockaddr_un.
Sat, 21 May 2016 16:42:59 +0900 chgserver: narrow scope of chdir() to socket.bind()
Yuya Nishihara <yuya@tcha.org> [Sat, 21 May 2016 16:42:59 +0900] rev 29529
chgserver: narrow scope of chdir() to socket.bind() This helps extracting a utility function.
Mon, 11 Jul 2016 15:45:34 +0200 annotate: handle empty files earlier
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 11 Jul 2016 15:45:34 +0200] rev 29528
annotate: handle empty files earlier Rather than looping on funcmap and then checking for non-zero `l` continue if the result of fctx.annotate is empty.
Mon, 11 Jul 2016 14:44:19 +0200 context: eliminate handling of linenumber being None in annotate
Denis Laxalde <denis.laxalde@logilab.fr> [Mon, 11 Jul 2016 14:44:19 +0200] rev 29527
context: eliminate handling of linenumber being None in annotate I could not find any use of this parameter value. And it arguably makes understanding of the function more difficult. Setting the parameter default value to False.
Tue, 12 Jul 2016 22:26:04 -0700 tests: regenerate x509 test certificates
Gregory Szorc <gregory.szorc@gmail.com> [Tue, 12 Jul 2016 22:26:04 -0700] rev 29526
tests: regenerate x509 test certificates The old x509 test certificates were using cryptographic settings that are ancient by today's standards, namely 512 bit RSA keys. To put things in perspective, browsers have been dropping support for 1024 bit RSA keys. I think it is important that tests match the realities of the times. And 2048 bit RSA keys with SHA-2 hashing are what the world is moving to. This patch replaces all the x509 certificates with new versions using modern best practices. In addition, the docs for generating the keys have been updated, as the existing docs left out a few steps, namely how to generate certs that were not active yet or expired.
Tue, 12 Jul 2016 15:09:07 +0200 hgweb: add a link on node id in annotate hover-box
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 12 Jul 2016 15:09:07 +0200] rev 29525
hgweb: add a link on node id in annotate hover-box The link pointing the annotate view at this revision, just like the one in the left-column but accessible from anywhere.
Tue, 12 Jul 2016 15:07:37 +0200 hgweb: move author information from left-column to hover-box in annotate view
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 12 Jul 2016 15:07:37 +0200] rev 29524
hgweb: move author information from left-column to hover-box in annotate view And display the full author information since there is enough space there.
Tue, 14 Jun 2016 11:01:30 +0200 hgweb: add links to diff and changeset in hover-box on annotate view
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 14 Jun 2016 11:01:30 +0200] rev 29523
hgweb: add links to diff and changeset in hover-box on annotate view
Tue, 28 Jun 2016 11:42:42 +0200 hgweb: add link to parents of annotated revision in annotate view
Denis Laxalde <denis.laxalde@logilab.fr> [Tue, 28 Jun 2016 11:42:42 +0200] rev 29522
hgweb: add link to parents of annotated revision in annotate view The link is embedded into a div with class="annotate-info" that only shows up upon hover of the annotate column. To avoid duplicate hover-overs (this new one and the one coming from link's title), drop "title" attribute from a element and put it in the annotate-info element.
Mon, 11 Jul 2016 13:53:35 +0200 compat: provide a declaration of ssize_t, for MS windows
Maciej Fijalkowski <fijall@gmail.com> [Mon, 11 Jul 2016 13:53:35 +0200] rev 29521
compat: provide a declaration of ssize_t, for MS windows
Sat, 09 Jul 2016 23:04:03 -0400 check-code: enforce (glob) on output lines containing 127.0.0.1
Augie Fackler <raf@durin42.com> [Sat, 09 Jul 2016 23:04:03 -0400] rev 29520
check-code: enforce (glob) on output lines containing 127.0.0.1
Sat, 09 Jul 2016 23:03:45 -0400 tests: add (glob) annotations to output lines with 127.0.0.1
Augie Fackler <raf@durin42.com> [Sat, 09 Jul 2016 23:03:45 -0400] rev 29519
tests: add (glob) annotations to output lines with 127.0.0.1
(0) -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 +10000 tip