Thu, 25 Aug 2016 01:06:32 -0400 test-clonebundles: accept another error string here
Augie Fackler <augie@google.com> [Thu, 25 Aug 2016 01:06:32 -0400] rev 29845
test-clonebundles: accept another error string here This is what happens if you run the test in a FreeBSD Jail, rather than "connection refused".
Thu, 25 Aug 2016 01:26:39 -0400 tests: guard test-archive-symlink with unziplinks check
Augie Fackler <augie@google.com> [Thu, 25 Aug 2016 01:26:39 -0400] rev 29844
tests: guard test-archive-symlink with unziplinks check This fixes the test on FreeBSD, where the stock unzip doesn't understand symlinks.
Thu, 25 Aug 2016 01:25:52 -0400 hghave: add a check for unzip(1) that understands symlinks
Augie Fackler <augie@google.com> [Thu, 25 Aug 2016 01:25:52 -0400] rev 29843
hghave: add a check for unzip(1) that understands symlinks unzip(1) from the FreeBSD base system does not understand symlinks, so test-archive-symlinks is busted.
Thu, 25 Aug 2016 01:00:54 -0400 test-https: drop two spurious --traceback flags
Augie Fackler <augie@google.com> [Thu, 25 Aug 2016 01:00:54 -0400] rev 29842
test-https: drop two spurious --traceback flags These make test failures scarier than they are.
Tue, 23 Aug 2016 11:26:08 -0400 extensions: change magic "shipped with hg" string
Augie Fackler <augie@google.com> [Tue, 23 Aug 2016 11:26:08 -0400] rev 29841
extensions: change magic "shipped with hg" string I've caught multiple extensions in the wild lying about being 'internal', so it's time to move the goalposts on people. Goalpost moving will continue until third party extensions stop trying to defeat the system.
Thu, 25 Aug 2016 01:00:26 -0400 version: add formatter support
Yuya Nishihara <yuya@tcha.org> [Thu, 25 Aug 2016 01:00:26 -0400] rev 29840
version: add formatter support The license message isn't exported, which I don't think is useful and I couldn't find a way to restructure it for JSON or template outputs.
Tue, 16 Aug 2016 16:09:12 +0900 version: factor out mapping of internal/external labels
Yuya Nishihara <yuya@tcha.org> [Tue, 16 Aug 2016 16:09:12 +0900] rev 29839
version: factor out mapping of internal/external labels Prepares for formatter support, where translation should be disabled conditionally.
Tue, 16 Aug 2016 16:03:09 +0900 version: always build list of extension versions
Yuya Nishihara <yuya@tcha.org> [Tue, 16 Aug 2016 16:03:09 +0900] rev 29838
version: always build list of extension versions This patch just moves "if ui.verbose:" to the inner loop, as preparation for formatter support.
Sun, 13 Mar 2016 19:59:39 +0900 formatter: add fm.nested(field) to either write or build sub items
Yuya Nishihara <yuya@tcha.org> [Sun, 13 Mar 2016 19:59:39 +0900] rev 29837
formatter: add fm.nested(field) to either write or build sub items We sometimes need to build nested items by formatter, but there was no convenient way other than building and putting them manually by fm.data(): exts = [] for n, v in extensions: fm.plain('%s %s\n' % (n, v)) exts.append({'name': n, 'ver': v}) fm.data(extensions=exts) This should work for simple cases, but doing this would make it harder to change the underlying data type for better templating support. So this patch provides fm.nested(field), which returns new nested formatter (or self if items aren't structured and just written to ui.) A nested formatter stores items which will later be rendered by the parent formatter. fn = fm.nested('extensions') for n, v in extensions: fn.startitem() fn.write('name ver', '%s %s\n', n, v) fn.end() Nested items are directly exported to a template for now: {extensions % "{name} {ver}\n"} There's no {extensions} nor {join(extensions, sep)} yet. I have a plan for them by extending fm.nested() API, but I want to revisit it after trying out this API in the real world.
Mon, 15 Aug 2016 13:51:14 +0900 formatter: factor out format*() functions to separate classes
Yuya Nishihara <yuya@tcha.org> [Mon, 15 Aug 2016 13:51:14 +0900] rev 29836
formatter: factor out format*() functions to separate classes New converter classes will be reused by a nested formatter. See the next patch for details. This change is also good in that the default values are defined uniquely by the baseformatter.
(0) -10000 -3000 -1000 -300 -100 -10 +10 +100 +300 +1000 +3000 +10000 tip