Jun Wu <quark@fb.com> [Sun, 20 Mar 2016 15:25:25 -0700] rev 28604
chg: define PRINTF_FORMAT_ for non gnu C compiler
Before this patch, if __GNUC__ is not defined, PRINTF_FORMAT_ will not be
defined and will cause compilation error.
This patch solves the issue by making sure PRINTF_FORMAT_ is defined. It
allows chg to be compiled with tcc (http://bellard.org/tcc/) by:
tcc -o chg *.c
Jun Wu <quark@fb.com> [Sun, 20 Mar 2016 15:11:34 -0700] rev 28603
chgserver: drop bundle.mainreporoot config
Before this patch, although chgserver drops repo object by setting it to None,
there is another side effect loading a repo: setting bundle.mainreporoot.
This patch explicitly sets it to empty to undo the side effect. It will make
chg pass test-strip.t.
Yuya Nishihara <yuya@tcha.org> [Sun, 20 Mar 2016 10:44:15 -0700] rev 28602
chgserver: drop old hack to recreate ui on HGPLAIN change
It's been superseded by config/env hash. A log message is simplified as we no
longer need a diff of environment variables. Also, _loadnewui() is changed to
require args since it can't copy old --config values without args.
Martijn Pieters <mjpieters@fb.com> [Sat, 19 Mar 2016 16:37:47 -0700] rev 28601
graphmod: allow edges to end early
Rather than draw an edge all the way to the bottom of the graph, make it
possible to end an edge to parents that are not part of the graph early on.
This results in a far cleaner graph.
Any edge type can be set to end early; set the ui.graphstyle.<edgetype>
parameter to the empty string to enable this.
For example, setting the following configuration:
[ui]
graphstyle.grandparent = :
graphstyle.missing =
would result in a graph like this:
o changeset: 32:
d06dffa21a31
|\ parent: 27:
886ed638191b
| : parent: 31:
621d83e11f67
| :
o : changeset: 31:
621d83e11f67
|\: parent: 21:
d42a756af44d
| : parent: 30:
6e11cd4b648f
| :
o : changeset: 30:
6e11cd4b648f
|\ \ parent: 28:
44ecd0b9ae99
| ~ : parent: 29:
cd9bb2be7593
| /
o : changeset: 28:
44ecd0b9ae99
|\ \ parent: 1:
6db2ef61d156
| ~ : parent: 26:
7f25b6c2f0b9
| /
o : changeset: 26:
7f25b6c2f0b9
|\ \ parent: 18:
1aa84d96232a
| | : parent: 25:
91da8ed57247
| | :
| o : changeset: 25:
91da8ed57247
| |\: parent: 21:
d42a756af44d
| | : parent: 24:
a9c19a3d96b7
| | :
| o : changeset: 24:
a9c19a3d96b7
| |\ \ parent: 0:
e6eb3150255d
| | ~ : parent: 23:
a01cddf0766d
| | /
| o : changeset: 23:
a01cddf0766d
| |\ \ parent: 1:
6db2ef61d156
| | ~ : parent: 22:
e0d9cccacb5d
| | /
| o : changeset: 22:
e0d9cccacb5d
|/:/ parent: 18:
1aa84d96232a
| : parent: 21:
d42a756af44d
| :
| o changeset: 21:
d42a756af44d
| |\ parent: 19:
31ddc2c1573b
| | | parent: 20:
d30ed6450e32
| | |
+---o changeset: 20:
d30ed6450e32
| | | parent: 0:
e6eb3150255d
| | ~ parent: 18:
1aa84d96232a
| |
| o changeset: 19:
31ddc2c1573b
| |\ parent: 15:
1dda3f72782d
| ~ ~ parent: 17:
44765d7c06e0
|
o changeset: 18:
1aa84d96232a
parent: 1:
6db2ef61d156
parent: 15:
1dda3f72782d
The default configuration leaves all 3 types set to |.
This is part of the work towards moving smartlog upstream; currently smartlog
injects extra nodes into the graph to indicate grandparent relationships (nodes
elided).
Martijn Pieters <mjpieters@fb.com> [Sat, 19 Mar 2016 16:46:15 -0700] rev 28600
graphmod: allow for different styles for different edge types
Rather than draw all edges as solid lines, allow for using different styles for
different edge types. For example you could use dotted lines for edges that
do not connect to a parent, and dashed lines when connecting to a grandparent
(implying missing nodes in between).
For example, setting the following configuration:
[ui]
graphstyle.grandparent = :
graphstyle.missing = .
would result in a graph like this:
o changeset: 32:
d06dffa21a31
|\ parent: 27:
886ed638191b
| : parent: 31:
621d83e11f67
| :
o : changeset: 31:
621d83e11f67
|\: parent: 21:
d42a756af44d
| : parent: 30:
6e11cd4b648f
| :
o : changeset: 30:
6e11cd4b648f
|\ \ parent: 28:
44ecd0b9ae99
| . : parent: 29:
cd9bb2be7593
| . :
o . : changeset: 28:
44ecd0b9ae99
|\ \ \ parent: 1:
6db2ef61d156
| . . : parent: 26:
7f25b6c2f0b9
| . . :
o . . : changeset: 26:
7f25b6c2f0b9
|\ \ \ \ parent: 18:
1aa84d96232a
| | . . : parent: 25:
91da8ed57247
| | . . :
| o-----+ changeset: 25:
91da8ed57247
| | . . : parent: 21:
d42a756af44d
| | . . : parent: 24:
a9c19a3d96b7
| | . . :
| o . . : changeset: 24:
a9c19a3d96b7
| |\ \ \ \ parent: 0:
e6eb3150255d
| | . . . : parent: 23:
a01cddf0766d
| | . . . :
| o---+ . : changeset: 23:
a01cddf0766d
| | . . . : parent: 1:
6db2ef61d156
| | . . . : parent: 22:
e0d9cccacb5d
| | . . . :
| o-------+ changeset: 22:
e0d9cccacb5d
| . . . . : parent: 18:
1aa84d96232a
|/ / / / / parent: 21:
d42a756af44d
| . . . :
| . . . o changeset: 21:
d42a756af44d
| . . . |\ parent: 19:
31ddc2c1573b
| . . . | | parent: 20:
d30ed6450e32
| . . . | |
+-+-------o changeset: 20:
d30ed6450e32
| . . . | parent: 0:
e6eb3150255d
| . . . | parent: 18:
1aa84d96232a
| . . . |
| . . . o changeset: 19:
31ddc2c1573b
| . . . .\ parent: 15:
1dda3f72782d
| . . . . | parent: 17:
44765d7c06e0
| . . . . |
o---+---+ | changeset: 18:
1aa84d96232a
. . . . | parent: 1:
6db2ef61d156
/ / / / / parent: 15:
1dda3f72782d
. . . . .
Edge styles can be altered by setting the following one-character config options::
[ui]
graphstyle.parent = |
graphstyle.grandparent = :
graphstyle.missing = .
The default configuration leaves all 3 types set to |, leaving graph styles
unaffected.
This is part of the work towards moving smartlog upstream; currently smartlog
injects extra nodes into the graph to indicate grandparent relationships (nodes
elided).
Jun Wu <quark@fb.com> [Thu, 17 Mar 2016 18:32:10 +0000] rev 28599
chgserver: use global ui instead of repo ui for dispatch.request.ui
Before this patch, chgserver will use repo ui as dispatch.request.ui, while
req.ui is designed to be global ui without repo config.
Passing repo ui as dispatch.request.ui leads to repo.ui being incorrect, which
can lead to unwanted results. For example, if the repo config has [extensions],
it could affect which localrepository.featuresetupfuncs get executed and the
repo may have an incorrect list of supported requirements.
This patch changes _renewui to return both global ui and repo ui. The global
ui is passed to req.ui, and the repo ui is used to calculate confighash. It
will make chg pass test-largefiles-misc.t and test-requires.t, which are both
related to repo requirements.
timeless <timeless@mozdev.org> [Thu, 17 Mar 2016 18:34:32 +0000] rev 28598
progress: update comment to reflect implementation
Progress has been on by default in core for a while,
the comment was written before this happened.
timeless <timeless@mozdev.org> [Sun, 20 Mar 2016 04:54:35 +0000] rev 28597
tests: remove lines that enable progress extension
progress has not been an extension for a long time,
it has been integrated into core, thus these lines
have not done anything for a while.
Augie Fackler <augie@google.com> [Sat, 19 Mar 2016 14:26:10 -0400] rev 28596
run-tests: add support for automatically bisecting test failures
Augie Fackler <augie@google.com> [Sat, 19 Mar 2016 20:49:02 -0400] rev 28595
check-code: also ban strcat
We're not using it now, so it's easy to ban.