Sun, 06 Mar 2016 03:01:46 +0530 check-config: use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 06 Mar 2016 03:01:46 +0530] rev 28352
check-config: use absolute_import and print_function
Sun, 06 Mar 2016 02:25:50 +0530 casesmash: use absolute_import
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 06 Mar 2016 02:25:50 +0530] rev 28351
casesmash: use absolute_import
Sat, 05 Mar 2016 13:56:59 +0000 chgserver: implement validate command
Jun Wu <quark@fb.com> [Sat, 05 Mar 2016 13:56:59 +0000] rev 28350
chgserver: implement validate command validate will load the repo config and check if the server has up-to-date config to continue serve the client. In case it does not, the server will send instructions to the client about what to do next, including to retry with a different address or to unlink an outdated socket file to stop an old server.
Sun, 14 Feb 2016 13:58:46 +0900 templater: handle exception when applying map operator to non-iterable object
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 13:58:46 +0900] rev 28349
templater: handle exception when applying map operator to non-iterable object Before this, "{noniterable % template}" raised an exception. This tries to provide a better indication for the common case, where a left-hand-side expression is a keyword.
Sun, 14 Feb 2016 13:30:32 +0900 templater: factor out thin helper that evaluates argument as string
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 13:30:32 +0900] rev 28348
templater: factor out thin helper that evaluates argument as string This function is trivial, but it can make it clear that args[i] is a (func, data) pair.
Sat, 05 Mar 2016 00:01:36 +0900 color: make label() template function stringify "expr" argument first
Yuya Nishihara <yuya@tcha.org> [Sat, 05 Mar 2016 00:01:36 +0900] rev 28347
color: make label() template function stringify "expr" argument first Since label() should return a string (or a thunk to be evaluated to a string), this change is okay. This helps porting to evalstring() helper. See the next patch for details.
Sun, 14 Feb 2016 13:09:17 +0900 templater: fix shortest() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 13:09:17 +0900] rev 28346
templater: fix shortest() to evaluate int argument and handle error
Sun, 14 Feb 2016 13:05:09 +0900 templater: fix pad() to evaluate int argument and handle error
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 13:05:09 +0900] rev 28345
templater: fix pad() to evaluate int argument and handle error
Sun, 14 Feb 2016 12:48:14 +0900 templater: drop redundant type conversion when evaluating integer argument
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 12:48:14 +0900] rev 28344
templater: drop redundant type conversion when evaluating integer argument A function argument may be an integer. In this case, it isn't necessary to convert a value to string and back to integer. Because an argument may be an arbitrary object (e.g. date tuple), TypeError should be caught as well.
Sun, 14 Feb 2016 12:42:25 +0900 templater: factor out function that evaluates argument as integer
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 12:42:25 +0900] rev 28343
templater: factor out function that evaluates argument as integer We have more bare int()s that may raise ValueError or TypeError. This function will be used to fix them.
Fri, 04 Mar 2016 13:18:02 +0000 chgserver: use basename for socket symlink
Jun Wu <quark@fb.com> [Fri, 04 Mar 2016 13:18:02 +0000] rev 28342
chgserver: use basename for socket symlink Previously we use full path and the symlink may point to outside (unsafe) world if the directory is moved. This patch fixes it by only linking to basename of the target. Therefore the symbolic link and socket files will always stay in the same directory.
Thu, 03 Mar 2016 18:34:19 +0100 patch: when importing from email, RFC2047-decode From/Subject headers
Julien Cristau <julien.cristau@logilab.fr> [Thu, 03 Mar 2016 18:34:19 +0100] rev 28341
patch: when importing from email, RFC2047-decode From/Subject headers Reported at https://bugs.debian.org/737498
Wed, 02 Mar 2016 22:39:03 +0000 histedit: reword message when a changeset produces no changes
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 22:39:03 +0000] rev 28340
histedit: reword message when a changeset produces no changes There are various ways to use histedit such that an item in the list of things to perform will not result in a change relative to the previous repository state. When that happens, histedit does not keep the commit/message. This changes the note to try to explain to the user that it will not be present in their history.
Wed, 02 Mar 2016 22:09:18 +0000 tests: replace cat.py with cat in test-histedit-fold-non-commute.t
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 22:09:18 +0000] rev 28339
tests: replace cat.py with cat in test-histedit-fold-non-commute.t
Wed, 02 Mar 2016 15:01:41 -0800 tests: Solaris grep doesn't add a trailing newline when it's missing
Danek Duvall <danek.duvall@oracle.com> [Wed, 02 Mar 2016 15:01:41 -0800] rev 28338
tests: Solaris grep doesn't add a trailing newline when it's missing The bad-extension tests emits a list of not-loaded extensions, and pipes that output through grep. On Solaris, the test-output gets "(no-eol)" appended because although the message has no trailing newline, GNU grep adds it. If we simply add the newline to the message, the problem goes away for both versions of grep.
Wed, 02 Mar 2016 14:58:29 -0800 tests: Solaris cmp complains about empty files, even with -s
Danek Duvall <danek.duvall@oracle.com> [Wed, 02 Mar 2016 14:58:29 -0800] rev 28337
tests: Solaris cmp complains about empty files, even with -s When you compare an empty file, such as /dev/null, with a non-empty file, Solaris cmp complains on stderr with "cmp: EOF on /dev/null", even if the -s argument is present. GNU cmp makes the complaint, but silences it with -s. We can change the pdiff utility to simply redirect stderr to /dev/null so that we don't have to worry about this difference in the test files.
Wed, 02 Mar 2016 14:55:13 -0800 tests: Solaris sed does not support "\n" meaning newline in the RHS of s///
Danek Duvall <danek.duvall@oracle.com> [Wed, 02 Mar 2016 14:55:13 -0800] rev 28336
tests: Solaris sed does not support "\n" meaning newline in the RHS of s/// The blackbox test rewrites a copy of test-dispatch.py on the fly, and adds a couple of lines with the s/// command. GNU sed supports the use of the \n escape to represent a newline, but not Solaris sed. Using a literal newline, prefixed by a backslash, works with both versions of the utility.
Wed, 02 Mar 2016 14:50:37 -0800 tests: Solaris cp doesn't support the -T option
Danek Duvall <danek.duvall@oracle.com> [Wed, 02 Mar 2016 14:50:37 -0800] rev 28335
tests: Solaris cp doesn't support the -T option The treemanifest tests use the -T option to cp in order to ensure that the two directories named on the commandline are treated as peers, rather than the usual behavior when the final argument is a directory. GNU cp has this option, but other implementations may not. Thankfully, there's no pressing reason to use it. We can simply copy the contents of the first directory into the target directory, since we know that the target directory already exists.
Sun, 14 Feb 2016 13:36:50 +0900 templater: make date() use helper function to evaluate argument
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 13:36:50 +0900] rev 28334
templater: make date() use helper function to evaluate argument A date argument should never be a generator, but using evalfuncarg() should be good for consistency.
Sun, 14 Feb 2016 00:27:09 +0900 templater: fix revset() to evaluate format arguments eagerly
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 00:27:09 +0900] rev 28333
templater: fix revset() to evaluate format arguments eagerly See the previous patch for why. This patch also removes redundant list() construction from a list.
Sun, 14 Feb 2016 00:18:12 +0900 templater: fix ifcontains() to evaluate items argument eagerly
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 00:18:12 +0900] rev 28332
templater: fix ifcontains() to evaluate items argument eagerly See the previous patch for why. An "items" argument may be a string, a generator, or an arbitrary container object.
Sun, 14 Feb 2016 00:05:58 +0900 templater: fix get() to evaluate arguments eagerly
Yuya Nishihara <yuya@tcha.org> [Sun, 14 Feb 2016 00:05:58 +0900] rev 28331
templater: fix get() to evaluate arguments eagerly If a key is constructed from a template expression, it may be a generator. In that case, a key have to be stringified. A dictarg should never be a generator, but this patch also changes it to call evalfuncarg() for consistency.
Wed, 02 Mar 2016 15:38:54 +0000 import-checker: report local with stdlib late warning
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 15:38:54 +0000] rev 28330
import-checker: report local with stdlib late warning Without this, developers have to figure it out on their own
Thu, 03 Mar 2016 23:11:33 -0800 tests: update test output for test written on stable branch (issue5104)
Gregory Szorc <gregory.szorc@gmail.com> [Thu, 03 Mar 2016 23:11:33 -0800] rev 28329
tests: update test output for test written on stable branch (issue5104) The changed test lines were added in d493d64757eb, which landed on stable. When this changeset merged to the default branch, the test failed because a4692267bc2d (on default but not stable) changed the order of working directory update when performing a share-based clone from pooled storage. The changes in this patch are similar to test changes in a4692267bc2d.
Mon, 29 Feb 2016 13:46:54 +0000 chgserver: pass hashstate and base server address to chgcmdserver
Jun Wu <quark@fb.com> [Mon, 29 Feb 2016 13:46:54 +0000] rev 28328
chgserver: pass hashstate and base server address to chgcmdserver In order to detect a hash change from a request handler, chg must know the original hashstate. It also needs the base server address to figure out redirect addresses.
Mon, 29 Feb 2016 11:43:25 +0000 chg: drop progress.assume-tty config
Jun Wu <quark@fb.com> [Mon, 29 Feb 2016 11:43:25 +0000] rev 28327
chg: drop progress.assume-tty config It was necessary to go through progress.uisetup() to set up the progressui wrapper. Since the progress extension has got into the core, progress.assume-tty is no longer necessary.
Wed, 02 Mar 2016 10:10:06 +0000 chgserver: mangle server address to include confighash
Jun Wu <quark@fb.com> [Wed, 02 Mar 2016 10:10:06 +0000] rev 28326
chgserver: mangle server address to include confighash Before this patch, chgserver will use the address provided by the client. The new design is one server per confighash. This patch appends "-$confighash" to the address the client provides. To maintain the compatibility and make sure the client can connect to the server, a symbolic link is created at the original address pointing to the new address. The address is intentionally mangled at the server, instead of being pre- calculated by some other process (eg. a previous server). In this way, we can avoid file system race conditions.
Mon, 29 Feb 2016 14:05:45 +0000 chgserver: update docs
Jun Wu <quark@fb.com> [Mon, 29 Feb 2016 14:05:45 +0000] rev 28325
chgserver: update docs Update the docstring to reflect the latest changes
Wed, 02 Mar 2016 16:44:56 -0600 merge with stable
Matt Mackall <mpm@selenic.com> [Wed, 02 Mar 2016 16:44:56 -0600] rev 28324
merge with stable
Mon, 21 Dec 2015 22:26:31 -0800 commands: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Mon, 21 Dec 2015 22:26:31 -0800] rev 28323
commands: use absolute_import All mercurial.* modules are now using absolute_import \o/
Sat, 27 Feb 2016 23:57:07 -0800 cmdutil: use absolute_import
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 23:57:07 -0800] rev 28322
cmdutil: use absolute_import Now that @command doesn't write back into commands when it is being executed during the loading of commands.py itself, we are unblocked from converting cmdutil to absolute_import.
Tue, 01 Mar 2016 10:33:06 +0000 keyword: use absolute_import
Christian Ebert <blacktrash@gmx.net> [Tue, 01 Mar 2016 10:33:06 +0000] rev 28321
keyword: use absolute_import
Sun, 28 Feb 2016 22:15:00 -0500 pager: use absolute_import
Augie Fackler <augie@google.com> [Sun, 28 Feb 2016 22:15:00 -0500] rev 28320
pager: use absolute_import
Sun, 28 Feb 2016 22:13:47 -0500 pager: add tests
Augie Fackler <augie@google.com> [Sun, 28 Feb 2016 22:13:47 -0500] rev 28319
pager: add tests We've never had tests for pager, and I want to start experimenting with ways to clean up the implementation and make it a bit more graceful.
Mon, 29 Feb 2016 01:01:20 -0500 tests: flag Windows specific lines about background closing as optional
Matt Harbison <matt_harbison@yahoo.com> [Mon, 29 Feb 2016 01:01:20 -0500] rev 28318
tests: flag Windows specific lines about background closing as optional
Sun, 28 Feb 2016 23:21:28 -0500 run-tests: defer leftover (?) cleanup until after all output is exhausted
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Feb 2016 23:21:28 -0500] rev 28317
run-tests: defer leftover (?) cleanup until after all output is exhausted Previously, after matching a single line, any contiguous subsequent lines ending with (?) would be added to the output and removed from the expected output. This is a problem if the subsequent test output would have matched the consumed (?) line, because it kept the optional line and then added a duplicate without the (?) [1]. Instead, wait until there is nothing more to match before handling the leftovers. [1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2016-February/080197.html
Sun, 28 Feb 2016 23:16:30 -0500 test-run-tests: pad the failure test to preserve the run order
Matt Harbison <matt_harbison@yahoo.com> [Sun, 28 Feb 2016 23:16:30 -0500] rev 28316
test-run-tests: pad the failure test to preserve the run order Test size seems to dictate the order in which the tests are run, and the next patch will add to test-success.t.
Wed, 02 Mar 2016 16:05:30 -0600 changelog: backed out changeset 86de91c56355
Matt Mackall <mpm@selenic.com> [Wed, 02 Mar 2016 16:05:30 -0600] rev 28315
changelog: backed out changeset 86de91c56355
Wed, 02 Mar 2016 12:46:54 -0600 changelog: backed out changeset 1778770e1982
Matt Mackall <mpm@selenic.com> [Wed, 02 Mar 2016 12:46:54 -0600] rev 28314
changelog: backed out changeset 1778770e1982 We want to avoid leaking UTF-8 to main body of code wherever possible.
Fri, 01 Jan 2016 22:16:25 +0900 dispatch: store norepo/optionalrepo/inferrepo attributes in function (API)
Yuya Nishihara <yuya@tcha.org> [Fri, 01 Jan 2016 22:16:25 +0900] rev 28313
dispatch: store norepo/optionalrepo/inferrepo attributes in function (API) This can eliminate import cycles and ugly push/pop of global variables at _checkshellalias(). Attributes of aliascmd are directly accessible. Because norepo/optionalrepo/inferrepo lists aren't populated, extensions examining them no longer work. That's why this patch removes these lists to signal the API incompatibility. This breaks 3rd-party extensions that are yet to be ported to @command decorator.
Sat, 09 Jan 2016 20:04:03 +0900 extensions: copy extra __dict__ of original function
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jan 2016 20:04:03 +0900] rev 28312
extensions: copy extra __dict__ of original function Future patches will make @command decorator set properties such as "norepo" to a function object. This patch makes sure these properties never be lost by wrapcommand() or wrapfunction(). This change won't be crazy as the standard functools.wraps() copies __dict__.
Sat, 09 Jan 2016 19:52:55 +0900 extensions: copy attributes to wrapper by wrapfunction()
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jan 2016 19:52:55 +0900] rev 28311
extensions: copy attributes to wrapper by wrapfunction() Before this patch, new partial function "wrap" had no useful docstring. It makes sense to copy __doc__ and __module__ as we do for wrapcommand().
Sat, 09 Jan 2016 19:45:10 +0900 extensions: extract function that copies function attributes to wrapper
Yuya Nishihara <yuya@tcha.org> [Sat, 09 Jan 2016 19:45:10 +0900] rev 28310
extensions: extract function that copies function attributes to wrapper wrapfunction() will be changed to copy these attributes. See the next patch for details.
Mon, 29 Feb 2016 23:28:32 +0000 tests: fix section description
timeless <timeless@mozdev.org> [Mon, 29 Feb 2016 23:28:32 +0000] rev 28309
tests: fix section description Copy and paste error
Tue, 01 Mar 2016 13:48:25 -0500 zeroconf: import ui as uimod per test-check-module-imports
Augie Fackler <augie@google.com> [Tue, 01 Mar 2016 13:48:25 -0500] rev 28308
zeroconf: import ui as uimod per test-check-module-imports
Sat, 27 Feb 2016 22:34:18 -0800 changelog: lazy decode user (API)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 22:34:18 -0800] rev 28307
changelog: lazy decode user (API) This appears to show a similar speedup as the previous patch.
Sat, 27 Feb 2016 22:25:14 -0800 changelog: lazy decode description (API)
Gregory Szorc <gregory.szorc@gmail.com> [Sat, 27 Feb 2016 22:25:14 -0800] rev 28306
changelog: lazy decode description (API) Currently, changelog reading decodes read values. This is wasteful because a lot of times consumers aren't interested in some of these values. This patch changes description decoding to occur in changectx as needed. revsets reading changelog entries appear to speed up slightly: revset #7: author(lmoscovicz) plain 0) 0.906329 1) 0.872653 revset #8: author(mpm) plain 0) 0.903478 1) 0.878037 revset #9: author(lmoscovicz) or author(mpm) plain 0) 1.817855 1) 1.778680 revset #10: author(mpm) or author(lmoscovicz) plain 0) 1.837052 1) 1.764568
Thu, 11 Feb 2016 19:38:26 +0000 blackbox: optionally log event source
timeless <timeless@mozdev.org> [Thu, 11 Feb 2016 19:38:26 +0000] rev 28305
blackbox: optionally log event source
Tue, 01 Mar 2016 10:45:47 +0000 blackbox: remove hexfn
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 10:45:47 +0000] rev 28304
blackbox: remove hexfn It was introduced as copy+paste code, but was never necessary.
Tue, 01 Mar 2016 10:43:52 +0000 blackbox: rewrite dirty documentation noting it is expensive
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 10:43:52 +0000] rev 28303
blackbox: rewrite dirty documentation noting it is expensive
Tue, 01 Mar 2016 09:49:38 +0000 zeroconf: remove whitespace around = for named parameters
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:49:38 +0000] rev 28302
zeroconf: remove whitespace around = for named parameters
Tue, 01 Mar 2016 09:44:32 +0000 zeroconf: del is not a function
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:44:32 +0000] rev 28301
zeroconf: del is not a function
Tue, 01 Mar 2016 09:48:11 +0000 zeroconf: add whitespace around operator
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:48:11 +0000] rev 28300
zeroconf: add whitespace around operator
Tue, 01 Mar 2016 09:33:39 +0000 zeroconf: wrap long lines
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 09:33:39 +0000] rev 28299
zeroconf: wrap long lines
Tue, 01 Mar 2016 08:53:40 +0000 zeroconf: drop tabs
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 08:53:40 +0000] rev 28298
zeroconf: drop tabs
Tue, 01 Mar 2016 08:48:10 +0000 zeroconf: omit semicolons
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 08:48:10 +0000] rev 28297
zeroconf: omit semicolons
Tue, 01 Mar 2016 08:42:46 +0000 zeroconf: use absolute_import
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 08:42:46 +0000] rev 28296
zeroconf: use absolute_import
Tue, 01 Mar 2016 07:17:32 +0000 zeroconf: use print function
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 07:17:32 +0000] rev 28295
zeroconf: use print function
Mon, 29 Feb 2016 15:12:26 +0100 histedit: improve error when run on nodes with children (issue5056)
liscju <piotr.listkiewicz@gmail.com> [Mon, 29 Feb 2016 15:12:26 +0100] rev 28294
histedit: improve error when run on nodes with children (issue5056)
Tue, 01 Mar 2016 11:51:46 +0000 tests: minor grammar change for check-commit
timeless <timeless@mozdev.org> [Tue, 01 Mar 2016 11:51:46 +0000] rev 28293
tests: minor grammar change for check-commit
(0) -10000 -3000 -1000 -300 -100 -60 +60 +100 +300 +1000 +3000 +10000 tip