Tue, 08 Mar 2016 04:08:33 -0800 formatter: make labels work with templated output
Kostia Balytskyi <ikostia@fb.com> [Tue, 08 Mar 2016 04:08:33 -0800] rev 28384
formatter: make labels work with templated output To describe the bug this fix is addressing, one can do ``$ hg status -T "{label('red', path)}\n" --color=debug`` and observe that the label is not applied before my fix and applied with it.
Tue, 08 Mar 2016 14:32:03 +0000 hghave: improve description of Hypothesis
timeless <timeless@mozdev.org> [Tue, 08 Mar 2016 14:32:03 +0000] rev 28383
hghave: improve description of Hypothesis
Wed, 02 Mar 2016 21:39:55 +0000 purge: use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 21:39:55 +0000] rev 28382
purge: use absolute_import
Wed, 02 Mar 2016 21:38:32 +0000 record: use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 21:38:32 +0000] rev 28381
record: use absolute_import
Wed, 02 Mar 2016 21:36:14 +0000 relink: use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 21:36:14 +0000] rev 28380
relink: use absolute_import
Wed, 02 Mar 2016 21:33:55 +0000 schemas: use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 21:33:55 +0000] rev 28379
schemas: use absolute_import
Wed, 02 Mar 2016 21:30:51 +0000 shelve: use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 21:30:51 +0000] rev 28378
shelve: use absolute_import
Wed, 02 Mar 2016 21:26:36 +0000 strip: use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 21:26:36 +0000] rev 28377
strip: use absolute_import
Fri, 04 Mar 2016 14:44:32 +0000 graphmod: augment the graph to include more information about the edges
Martijn Pieters <mjpieters@fb.com> [Fri, 04 Mar 2016 14:44:32 +0000] rev 28376
graphmod: augment the graph to include more information about the edges The walker knows when an edge leads to a direct parent, a grandparent (skipping revisions not part of the revset) and parents that are missing altogether (neither it nor a grandparent is in the revset). Add this information to the parents sequence yielded.
Fri, 04 Mar 2016 14:44:32 +0000 graphmod: refactor state handling
Martijn Pieters <mjpieters@fb.com> [Fri, 04 Mar 2016 14:44:32 +0000] rev 28375
graphmod: refactor state handling Move ASCII graph state to a dictionary, to clarify what is being tracked. Move the 'seen' state (tracking currently active edges) into this structure.
Thu, 11 Jun 2015 23:04:14 +0900 templater: move label() function from color extension
Yuya Nishihara <yuya@tcha.org> [Thu, 11 Jun 2015 23:04:14 +0900] rev 28374
templater: move label() function from color extension ui.label() is no-op by default, so we can just call ui.label() by label() template function no matter if the color is enabled or not.
Thu, 11 Jun 2015 22:58:27 +0900 templater: make label() take unknown symbol as color literal
Yuya Nishihara <yuya@tcha.org> [Thu, 11 Jun 2015 22:58:27 +0900] rev 28373
templater: make label() take unknown symbol as color literal Instead of the mapping hack introduced by b775a2029e8d, this patch changes the way how a label symbol is evaluated. This is still hackish, but should be more predictable in that it doesn't depend on the known color effects. This change is intended to eliminate the reference to color._effects so that color.templatelabel() can be merged with templater.label().
Wed, 02 Mar 2016 15:50:34 +0000 convert: monotone use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 15:50:34 +0000] rev 28372
convert: monotone use absolute_import
Wed, 02 Mar 2016 15:31:15 +0000 convert: p4 use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 15:31:15 +0000] rev 28371
convert: p4 use absolute_import
Wed, 02 Mar 2016 15:26:49 +0000 convert: hg use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 15:26:49 +0000] rev 28370
convert: hg use absolute_import
Wed, 02 Mar 2016 14:56:29 +0000 convert: cvsps use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 14:56:29 +0000] rev 28369
convert: cvsps use absolute_import
Wed, 02 Mar 2016 14:23:23 +0000 convert: darcs use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 14:23:23 +0000] rev 28368
convert: darcs use absolute_import
Wed, 02 Mar 2016 09:00:58 +0000 convert: filemap use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 09:00:58 +0000] rev 28367
convert: filemap use absolute_import
Wed, 02 Mar 2016 08:58:01 +0000 convert: gnuarch use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 08:58:01 +0000] rev 28366
convert: gnuarch use absolute_import
Wed, 02 Mar 2016 20:42:13 +0000 convert: git use absolute_import
timeless <timeless@mozdev.org> [Wed, 02 Mar 2016 20:42:13 +0000] rev 28365
convert: git use absolute_import
Mon, 07 Mar 2016 17:26:47 -0800 branchmap: check node against changelog instead of repo
Durham Goode <durham@fb.com> [Mon, 07 Mar 2016 17:26:47 -0800] rev 28364
branchmap: check node against changelog instead of repo Testing 'node in repo' requires constructing a changectx, which is a little expensive. Testing 'repo.changelog.hasnode(node)' is notably faster. This saves 10-20ms off of every command, when testing a few thousand nodes from the branch cache. I considered changing the implementation of localrepository.__contains__ so every place would benefit from the change, but since localrepository.__contains__ uses changectx to check if the commit exists, it means it supports a wider range of possible inputs (like revs, hashes, '.', etc), so it seemed unnecessarily risky.
Mon, 29 Feb 2016 09:26:43 -0800 changegroup: clear progress callback after changelog processing
Martin von Zweigbergk <martinvonz@google.com> [Mon, 29 Feb 2016 09:26:43 -0800] rev 28363
changegroup: clear progress callback after changelog processing The progress callback is replaced by one for manifests after changelog processing is done, but let's not depend on manifests replacing the value and instead explicitly clear it.
Tue, 26 Jan 2016 22:44:29 +0900 tests: adjust for code move in Hypothesis 2.0.0 stable
Yuya Nishihara <yuya@tcha.org> [Tue, 26 Jan 2016 22:44:29 +0900] rev 28362
tests: adjust for code move in Hypothesis 2.0.0 It appears that the Settings class was renamed to settings, and because of this, the settings module was renamed to configuration. https://github.com/DRMacIver/hypothesis/commit/a0e663b
Sun, 28 Feb 2016 22:51:07 -0800 changegroup: progress for added files is not measured in "chunks"
Martin von Zweigbergk <martinvonz@google.com> [Sun, 28 Feb 2016 22:51:07 -0800] rev 28361
changegroup: progress for added files is not measured in "chunks" The "prog" class cg1unpacker.apply() has the unit set to "chunks". This is not correct for files, where the file itself is the unit. The unit is not usually printed, which is probably why this has not been fixed yet. It can be show with e.g. "--config progress.format='topic number unit'".
Sun, 28 Feb 2016 21:15:06 -0800 changegroup: exclude submanifests from manifest progress
Martin von Zweigbergk <martinvonz@google.com> [Sun, 28 Feb 2016 21:15:06 -0800] rev 28360
changegroup: exclude submanifests from manifest progress The progress callback for manifests is cleared outside of _unpackmanifests(), which means it will remain in effect while pulling subdirectory manifests when using treemanifests. Since the total number of revisions used for the progress is the number of changesets, the total number of treemanifest revisions is usually larger than that. One effect of this is that the ETA is negative. It's hard to estimate the number of subdirectory revisions, so let's just exclude them from progress for now.
Sun, 14 Feb 2016 07:35:50 +0000 commit: block amend while histedit is in progress (issue4800)
timeless <timeless@mozdev.org> [Sun, 14 Feb 2016 07:35:50 +0000] rev 28359
commit: block amend while histedit is in progress (issue4800)
Wed, 02 Mar 2016 10:42:58 +0000 chg: limit reconnect attempts
Jun Wu <quark@fb.com> [Wed, 02 Mar 2016 10:42:58 +0000] rev 28358
chg: limit reconnect attempts Some users may have hg as a wrapper script which sets sensitive environment variables (like setting up virtualenv). This will make chg redirect forever because the environment variables are never considered up to date. This patch adds a limit (10) for reconnect attempts and warn the user with a possible solution if the limit is exceeded.
Sun, 06 Mar 2016 14:22:37 +0000 chg: use validate to make sure the server is up to date
Jun Wu <quark@fb.com> [Sun, 06 Mar 2016 14:22:37 +0000] rev 28357
chg: use validate to make sure the server is up to date This patch uses the newly added validate method to make sure the server has loaded the up-to-date config and extensions. If the server cannot validate itself, the client will receive instructions and follow them to try to reach another server that is more likely to validate itself. The instructions can be a redirect (connect to another server address) and/or an unlink (stops an out-dated server).
Sun, 06 Mar 2016 14:21:52 +0000 chg: implement validate in hgclient
Jun Wu <quark@fb.com> [Sun, 06 Mar 2016 14:21:52 +0000] rev 28356
chg: implement validate in hgclient This patch implements the corresponding validate method in hgclient. It will return instruction strings as is without taking any real action.
Sun, 06 Mar 2016 03:15:45 +0530 hgclient: use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 06 Mar 2016 03:15:45 +0530] rev 28355
hgclient: use absolute_import and print_function
Sun, 06 Mar 2016 03:10:17 +0530 fixpax: use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 06 Mar 2016 03:10:17 +0530] rev 28354
fixpax: use absolute_import and print_function
Sun, 06 Mar 2016 03:06:09 +0530 debugcmdserver: use absolute_import and print_function
Pulkit Goyal <7895pulkit@gmail.com> [Sun, 06 Mar 2016 03:06:09 +0530] rev 28353
debugcmdserver: use absolute_import and print_function
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.
(0) -10000 -3000 -1000 -300 -100 -56 +56 +100 +300 +1000 +3000 +10000 tip