Wed, 10 Jun 2015 14:35:05 -0500 templates: add a default template style for status
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 14:35:05 -0500] rev 25514
templates: add a default template style for status Color doesn't work yet, so no labels here.
Wed, 10 Jun 2015 14:33:38 -0500 formatter: add template support
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 14:33:38 -0500] rev 25513
formatter: add template support This lets all the non-log commands that use the formatter use templates. There are still some things that don't work, for instance: - color (needs "repo" in map) - shortest (needs "ctx" in map)
Wed, 10 Jun 2015 14:30:18 -0500 formatter: add a method to build a full templater from a -T option
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 14:30:18 -0500] rev 25512
formatter: add a method to build a full templater from a -T option
Wed, 10 Jun 2015 14:29:13 -0500 formatter: move most of template option helper to formatter
Matt Mackall <mpm@selenic.com> [Wed, 10 Jun 2015 14:29:13 -0500] rev 25511
formatter: move most of template option helper to formatter We want to share this function between formatter and cmdutils. It doesn't belong in templater because it imports knowledge of ui layers that shouldn't be there. We'd prefer cmdutil to layer on the formatter rather than vice-versa. Since the formatter is the handler for -T options for all non-log commands, let's move the helper there. We leave the bits specific to the old --style option behind.
Wed, 10 Jun 2015 22:08:15 +0900 color: copy docstring of label() template function to wrapper
Yuya Nishihara <yuya@tcha.org> [Wed, 10 Jun 2015 22:08:15 +0900] rev 25510
color: copy docstring of label() template function to wrapper Otherwise label() wouldn't be listed in "hg help template" if color extension is enabled.
Mon, 08 Jun 2015 18:48:45 +0900 templater: make pad function evaluate both string and rawstring templates
Yuya Nishihara <yuya@tcha.org> [Mon, 08 Jun 2015 18:48:45 +0900] rev 25509
templater: make pad function evaluate both string and rawstring templates "pad" function and "rawstring" type were introduced in parallel, aa51392da507 in default and 5ab28a2e9962 in stable respectively. Therefore, "pad" function lacked handling of "rawstring" unintentionally.
Sat, 06 Jun 2015 22:10:18 -0400 largefiles: ignore hidden changesets with 'verify --large --lfa'
Matt Harbison <matt_harbison@yahoo.com> [Sat, 06 Jun 2015 22:10:18 -0400] rev 25508
largefiles: ignore hidden changesets with 'verify --large --lfa' Previously, if there were any hidden changesets, the --lfa argument would cause the command to abort with a hint about using --hidden when it tripped over a hidden changeset.
Wed, 10 Jun 2015 14:49:27 -0700 bundle2: clarify in docstring that header size is for a single header
Martin von Zweigbergk <martinvonz@google.com> [Wed, 10 Jun 2015 14:49:27 -0700] rev 25507
bundle2: clarify in docstring that header size is for a single header The docstring for the header size field currently says "The total number of Bytes used by the part headers", but the size is about a single header, so let's change it to "header".
Wed, 10 Jun 2015 14:47:24 -0700 bundle2: rename duplicate handlepushkeyreply to handleobsmarkerreply
Martin von Zweigbergk <martinvonz@google.com> [Wed, 10 Jun 2015 14:47:24 -0700] rev 25506
bundle2: rename duplicate handlepushkeyreply to handleobsmarkerreply The function was only called through the parthandlermapping dict, so it was confusing but safe in practice.
Sun, 07 Jun 2015 15:49:57 -0700 changegroup: remove 'getchangegroupraw' function
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 15:49:57 -0700] rev 25505
changegroup: remove 'getchangegroupraw' function There is no remaining caller for this function.
Sun, 07 Jun 2015 15:49:17 -0700 exchange: expand usage of getchangegroupraw
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 15:49:17 -0700] rev 25504
exchange: expand usage of getchangegroupraw The 'getchangegroupraw' is very simple (two lines) so we inline it in its only caller. This exposes the 'outgoing' object of the part generator function, allowing us to add information on the number of changesets contained in the part in a later changeset. Such information is useful for progress bar.
Sun, 07 Jun 2015 15:47:07 -0700 getbundle: have a single getchangegroupraw call site
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 15:47:07 -0700] rev 25503
getbundle: have a single getchangegroupraw call site Having a single call site will simplify the code and help with coming refactoring.
Wed, 27 May 2015 22:25:51 -0700 phases: abort the whole push if phases fail to update (BC)
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 22:25:51 -0700] rev 25502
phases: abort the whole push if phases fail to update (BC) When using bundle2, the phase pushkey parts are now made mandatory. As a result, failure to update the bookmark server side will result in the transaction being aborted.
Wed, 27 May 2015 22:25:33 -0700 bookmarks: abort the whole push if bookmarks fails to update (BC)
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 22:25:33 -0700] rev 25501
bookmarks: abort the whole push if bookmarks fails to update (BC) When using bundle2, the bookmark's pushkey parts are now made mandatory. As a result failure to update the bookmark server side will result in the transaction being aborted.
Mon, 08 Jun 2015 16:55:21 -0700 httppeer: allow extensions to replace urllib2.Request
Kyle Lippincott <spectral@google.com> [Mon, 08 Jun 2015 16:55:21 -0700] rev 25500
httppeer: allow extensions to replace urllib2.Request The authentication library my extension wants to use requires using a different opener and a different request builder. This change pulls the call to urllib2.Request out so that my extension can replace it just like it can replace urlopener.
Sun, 07 Jun 2015 17:50:56 -0700 progress: move all logic altering the ui object logic in mercurial.ui
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 17:50:56 -0700] rev 25499
progress: move all logic altering the ui object logic in mercurial.ui The ui object can take care of its progress object logic by itself. test-subrepo-recursion is modified because it is a bit sensitive to the "no progress bar" default. It will become unnecessary in the next step when progress will be on by default in core.
Sun, 07 Jun 2015 17:26:34 -0700 progress: move the singleton logic to the ui module
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 17:26:34 -0700] rev 25498
progress: move the singleton logic to the ui module The use of a singleton for all of progress handling is debatable (because config may vary). However this is how the extension has been doing it so far. We move that code into the ui module because this is where is should belong when progress is moved into core.
Sun, 07 Jun 2015 17:19:20 -0700 progress: move most extension code into a 'mercurial.progress' module
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 17:19:20 -0700] rev 25497
progress: move most extension code into a 'mercurial.progress' module This initiate the relocation of progress into core.
Tue, 09 Jun 2015 23:40:13 -0400 test-subrepo-recursion: restore globs for Windows
Matt Harbison <matt_harbison@yahoo.com> [Tue, 09 Jun 2015 23:40:13 -0400] rev 25496
test-subrepo-recursion: restore globs for Windows
Tue, 09 Jun 2015 21:39:33 -0400 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation
Matt Harbison <matt_harbison@yahoo.com> [Tue, 09 Jun 2015 21:39:33 -0400] rev 25495
tests: restore 'python' and '$TESTDIR/' for dummyssh invocation This is a backout of 46727fea7a00, and a partial backout of c3ecbf694904. Windows won't execute 'dummyssh' directly, presumably because CreateProcess() doesn't know how to execute a bash script: $ hg clone -e "dummyssh" ssh://user@dummy/cloned sshclone remote: 'dummyssh' is not recognized as an internal or external command, remote: operable program or batch file. abort: no suitable response from remote hg! [255] With the restoration of python as the executable, $TESTDIR needs to be restored for these invocations, because python won't search $PATH for 'dummyssh': $ hg clone -e "python dummyssh" ssh://user@dummy/cloned sshclone remote: python: can't open file 'dummyssh': [Errno 2] No such file or directory abort: no suitable response from remote hg! [255]
Tue, 09 Jun 2015 15:18:47 -0700 perf: support -T for every perf commands
Pierre-Yves David <pierre-yves.david@fb.com> [Tue, 09 Jun 2015 15:18:47 -0700] rev 25494
perf: support -T for every perf commands We are already building a formatter, we can now pass it options the official way.
Wed, 10 Jun 2015 13:10:53 -0400 bundle2: convey PushkeyFailed error over the wire
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 10 Jun 2015 13:10:53 -0400] rev 25493
bundle2: convey PushkeyFailed error over the wire We add a way to convey the precise exception. This will allow better error message on the server.
Sat, 06 Jun 2015 00:50:27 -0700 bundle2: also capture reply capability on failure
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 06 Jun 2015 00:50:27 -0700] rev 25492
bundle2: also capture reply capability on failure When unbundling over the wire is aborted, we have a mechanism to convey the error inside a bundle part. As we add support for more errors, we need to know if the client will support them. For this purpose, we duck punch the reply capabilities of the client on the raised extensions. This is similar to what is done to salvage the server output on error.
Sat, 06 Jun 2015 00:32:19 -0700 bundle2: add an 'error' capability
Pierre-Yves David <pierre-yves.david@fb.com> [Sat, 06 Jun 2015 00:32:19 -0700] rev 25491
bundle2: add an 'error' capability This capability will be extended as new error type is introduced.
Tue, 09 Jun 2015 13:21:20 -0500 merge with stable
Matt Mackall <mpm@selenic.com> [Tue, 09 Jun 2015 13:21:20 -0500] rev 25490
merge with stable
Sat, 04 Apr 2015 01:03:52 -0700 templater: introduce indent function
Ryan McElroy <rmcelroy@fb.com> [Sat, 04 Apr 2015 01:03:52 -0700] rev 25489
templater: introduce indent function
Sun, 07 Jun 2015 17:14:17 -0700 hgewb: disable progress when serving (issue4582)
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 17:14:17 -0700] rev 25488
hgewb: disable progress when serving (issue4582) Before this patch, progress bar could be displayed when serving, creating hypothetical problems.
Tue, 09 Jun 2015 12:57:57 -0400 test-subrepo-recursion.t: fix progress output on no-hardlink systems
Augie Fackler <augie@google.com> [Tue, 09 Jun 2015 12:57:57 -0400] rev 25487
test-subrepo-recursion.t: fix progress output on no-hardlink systems
Tue, 09 Jun 2015 00:02:02 -0400 test-ssh: stablize for platform-specific shell quoting
Matt Harbison <matt_harbison@yahoo.com> [Tue, 09 Jun 2015 00:02:02 -0400] rev 25486
test-ssh: stablize for platform-specific shell quoting Windows and OpenVMS use double quotes instead of single.
Fri, 05 Jun 2015 16:30:11 -0700 push: catch and process PushkeyFailed error
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 05 Jun 2015 16:30:11 -0700] rev 25485
push: catch and process PushkeyFailed error We add a way to register "pushkey failure callback" that will be used if the push is aborted by a pushkey failure. A part generator adding mandatory pushkey parts should register a failure callback for all of them. The callback will be in charge of generating a meaningful abort if this part fails. If no callback is registered, the error is propagated. Catch PushkeyFailed error in exchange.
Wed, 27 May 2015 23:48:54 -0700 bundle2: introduce a PushkeyFail error to abort unbundle on pushkey error
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 23:48:54 -0700] rev 25484
bundle2: introduce a PushkeyFail error to abort unbundle on pushkey error The pushkey code is generic and the server side has little context on what the client is trying to achieve. Generating interesting error messages server side would be challenging. Instead we introduce a dedicated exception that carries more data. In particular, it carries the id of the part which failed that will allow clients to display custom error messages depending on the part intent. The processing and transfer-over-the-wire of this exception is to be implemented in coming changesets.
Fri, 05 Jun 2015 13:31:18 -0700 record: exiting editor with non-zero status should not stop recording session
Laurent Charignon <lcharignon@fb.com> [Fri, 05 Jun 2015 13:31:18 -0700] rev 25483
record: exiting editor with non-zero status should not stop recording session Before this patch, exiting a hunk edit in record with a non-zero status lead to the end of the recording session, losing previously-selected hunks to record. This patch introduces the more desirable behavior of warning the user and continuing the recording session.
Sun, 07 Jun 2015 18:11:23 -0700 progress: stop double-wrapping of ui class
Pierre-Yves David <pierre-yves.david@fb.com> [Sun, 07 Jun 2015 18:11:23 -0700] rev 25482
progress: stop double-wrapping of ui class We were wrapping the ui class again and again (uisetup, reposetup, subrepo setup, remote repo setup, etc). We now avoid that. This has impact on tests that were double-printing data because of this.
Wed, 27 May 2015 05:28:40 -0700 bundle2: abort when a mandatory pushkey part fails
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 05:28:40 -0700] rev 25481
bundle2: abort when a mandatory pushkey part fails So far, result of a pushkey operation had no consequence on the transaction (beside the change). We makes it respect the 'mandatory' flag of part so that failed pushkey call abort the whole transaction. This will allow rejecting changes (primary target: changesets) regarding phases or bookmark criteria in the future (when we will push such data in a mandatory part). We currently raise an abort error because all clients support it. We'll introduce a more precise error in the next changesets.
Wed, 27 May 2015 05:35:00 -0700 push: make pushkey part advisory
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 27 May 2015 05:35:00 -0700] rev 25480
push: make pushkey part advisory The current behavior (with bundle1) is to let the rest of the push succeed if the pushkey call (phases, bookmarks) failed (this comes from the fact that each item is sent in its own command). We kept this behavior with bundle2, which is highly debatable, but let us keep thing as they are now as a start. We are about to enforce 'mandatory' pushkey part as 'mandatory' successful, so we need to marks parts as advisory to preserve the current (debatable) behavior.
Mon, 08 Jun 2015 13:32:38 -0700 bundle2: pull bookmark the old way if no bundle2 listkeys support (issue4701)
Pierre-Yves David <pierre-yves.david@fb.com> [Mon, 08 Jun 2015 13:32:38 -0700] rev 25479
bundle2: pull bookmark the old way if no bundle2 listkeys support (issue4701) All known server implementations have listkeys support with bundle2, but people in the process of implementing new servers may not. Let's be nice with them.
Mon, 08 Jun 2015 15:10:15 -0500 tests: simplify printenv calls
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 15:10:15 -0500] rev 25478
tests: simplify printenv calls Make printenv executable so that we don't need python, TESTDIR, or quoting.
Mon, 08 Jun 2015 17:34:45 -0500 tests: make printenv executable
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 17:34:45 -0500] rev 25477
tests: make printenv executable
Mon, 08 Jun 2015 15:02:49 -0500 tests: simplify calls to dummyssh
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 15:02:49 -0500] rev 25476
tests: simplify calls to dummyssh dummyssh is marked executable and is in the path, no need for python, TESTDIR, or quotes.
Mon, 08 Jun 2015 17:33:32 -0500 tests: remove duplicate inline dummyssh in test-wireproto.t
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 17:33:32 -0500] rev 25475
tests: remove duplicate inline dummyssh in test-wireproto.t
Mon, 08 Jun 2015 14:55:40 -0500 tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 14:55:40 -0500] rev 25474
tests: drop DAEMON_PIDS from killdaemons calls
Mon, 08 Jun 2015 14:21:45 -0500 tests: make killdaemons.py use DAEMON_PIDS by default
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 14:21:45 -0500] rev 25473
tests: make killdaemons.py use DAEMON_PIDS by default
Mon, 08 Jun 2015 14:44:30 -0500 tests: drop explicit $TESTDIR from executables
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 14:44:30 -0500] rev 25472
tests: drop explicit $TESTDIR from executables $TESTDIR is added to the path, so this is superfluous. Also, inconsistent use of quotes means we might have broken on tests with paths containing spaces.
Mon, 08 Jun 2015 18:14:22 +0900 templater: do not preprocess template string in "if" expression (issue4714) stable
Yuya Nishihara <yuya@tcha.org> [Mon, 08 Jun 2015 18:14:22 +0900] rev 25471
templater: do not preprocess template string in "if" expression (issue4714) The problem was spotted at 5ab28a2e9962, that says "this patch invokes it with "strtoken='rawstring'" in "_evalifliteral()", because "t" is the result of "arg" evaluation and it should be "string-escape"-ed if "arg" is "string" expression." This workaround is no longer valid since 890845af1ac2 introduced strict parsing of '\{'. Instead, we should interpret bare token as "string" or "rawstring" template. This is what buildmap() does at parsing phase.
Fri, 05 Jun 2015 22:53:15 -0400 largefiles: use the optional badfn argument when building a matcher
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Jun 2015 22:53:15 -0400] rev 25470
largefiles: use the optional badfn argument when building a matcher The monkey patching in cat() can't be fixed, because it still delegates to the original bad(). Overriding commands.cat() should go away in favor overriding cmdutil.cat() anyway, and that matcher can be wrapped with matchmod.badmatch().
Fri, 05 Jun 2015 19:35:32 -0400 mq: use the optional badfn argument when building a matcher
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Jun 2015 19:35:32 -0400] rev 25469
mq: use the optional badfn argument when building a matcher
Fri, 05 Jun 2015 19:33:41 -0400 commands: use the optional badfn argument when building a matcher
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Jun 2015 19:33:41 -0400] rev 25468
commands: use the optional badfn argument when building a matcher
Fri, 05 Jun 2015 19:24:32 -0400 scmutil: add an optional parameter to matcher factories for a bad() override
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Jun 2015 19:24:32 -0400] rev 25467
scmutil: add an optional parameter to matcher factories for a bad() override Even though scmutil.matchandpats() is documented to warn about bad files, several callers silence the warning.
(0) -10000 -3000 -1000 -300 -100 -48 +48 +100 +300 +1000 +3000 +10000 tip