annotate mercurial/templates/map-cmdline.status @ 29544:024e8f82f3de

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.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 22 May 2016 11:43:18 +0900
parents 2d3837a4bded
children f4aeb952ab77
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25006
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
1 %include map-cmdline.default
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
2
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
3 # Override base templates
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
4 changeset = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{summary}{lfiles}\n'
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
5 changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{user}{ldate}{description}{lfiles}\n'
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
6 changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{user}{ldate}{extras}{description}{lfiles}\n'
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
7
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
8 # Override the file templates
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
9 lfiles = '{if(files,
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
10 label('ui.note log.files',
29000
2d3837a4bded log: fix status template to list copy source per dest (issue5155)
Yuya Nishihara <yuya@tcha.org>
parents: 25628
diff changeset
11 'files:\n'))}{lfile_mods}{lfile_adds}{lfile_dels}'
25006
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
12
29000
2d3837a4bded log: fix status template to list copy source per dest (issue5155)
Yuya Nishihara <yuya@tcha.org>
parents: 25628
diff changeset
13 lfile_adds = '{file_adds % "{lfile_add}{lfile_src}"}'
2d3837a4bded log: fix status template to list copy source per dest (issue5155)
Yuya Nishihara <yuya@tcha.org>
parents: 25628
diff changeset
14 lfile_mods = '{file_mods % "{lfile_mod}{lfile_src}"}'
25006
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
15 lfile_add = '{label("status.added", "A {file}\n")}'
29000
2d3837a4bded log: fix status template to list copy source per dest (issue5155)
Yuya Nishihara <yuya@tcha.org>
parents: 25628
diff changeset
16 lfile_mod = '{label("status.modified", "M {file}\n")}'
2d3837a4bded log: fix status template to list copy source per dest (issue5155)
Yuya Nishihara <yuya@tcha.org>
parents: 25628
diff changeset
17 lfile_src = '{ifcontains(file, file_copies_switch,
2d3837a4bded log: fix status template to list copy source per dest (issue5155)
Yuya Nishihara <yuya@tcha.org>
parents: 25628
diff changeset
18 label("status.copied", " {get(file_copies_switch, file)}\n"))}'
25006
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
19
517763f87141 log: add a status template
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
20 lfile_dels = '{file_dels % "{label('status.removed', 'R {file}\n')}"}'