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.
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.
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.
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.
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.
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.
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.
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.
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 17:34:45 -0500] rev 25477
tests: make printenv executable
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.
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 17:33:32 -0500] rev 25475
tests: remove duplicate inline dummyssh in test-wireproto.t
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 14:55:40 -0500] rev 25474
tests: drop DAEMON_PIDS from killdaemons calls
Matt Mackall <mpm@selenic.com> [Mon, 08 Jun 2015 14:21:45 -0500] rev 25473
tests: make killdaemons.py use DAEMON_PIDS by default
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.
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.
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().
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
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
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.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Jun 2015 19:07:54 -0400] rev 25466
scmutil: use the optional badfn argument when building a matcher
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Jun 2015 19:01:04 -0400] rev 25465
context: add an optional constructor parameter for a match.bad() override
Most matcher creation is done by way of a context.
Matt Harbison <matt_harbison@yahoo.com> [Fri, 05 Jun 2015 18:56:33 -0400] rev 25464
match: add an optional constructor parameter for a bad() override
This will be used to eliminate monkey patching of new matcher instances that
weren't removed in 5984dd42e140::1a95c57959f6.
Yuya Nishihara <yuya@tcha.org> [Sun, 07 Jun 2015 09:30:15 +0900] rev 25463
mail: pass ui to sslutil.wrapsocket() even if verifycert is off (issue4713)
21b536f01eda made 'ui' argument is passed via sslutil.sslkwargs(), but mailer
doesn't call sslkwargs() if smtp.verifycert is off. So we have to put it in
sslkwargs manually.
Adrian Buehlmann <adrian@cadifra.com> [Sat, 06 Jun 2015 14:03:55 +0200] rev 25462
windows: use os.SEEK_END
Matt Mackall <mpm@selenic.com> [Fri, 05 Jun 2015 15:44:43 -0500] rev 25461
merge with stable
Laurent Charignon <lcharignon@fb.com> [Fri, 05 Jun 2015 12:57:21 -0700] rev 25460
crecord: fix three typos introduced while moving crecord into core
When moving crecord to core, I did a search an replace to remove all of the
variable with caps letter. Doing so, I unfortunately changed some commands
with capital letter shortcut to their lowercase counterpart. I fixed one
of these cases in 093d38165e5a. This patch fixes all of the remaining cases.
Matt Mackall <mpm@selenic.com> [Thu, 04 Jun 2015 14:57:58 -0500] rev 25459
revlog: move size limit check to addrevision
This lets us add the name of the indexfile to the message.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 May 2015 11:55:59 -0500] rev 25458
sshpeer: also use doublepipe for client to server communication
This will allow even more real time output when the server issue output in the
middle a stream push.
Pierre-Yves David <pierre-yves.david@fb.com> [Fri, 05 Jun 2015 04:54:23 -0700] rev 25457
sshpeer: allow doublepipe on unbuffered main pipe
The output pipe does not have manually managed read buffer (actually, no read
anything). To also use the doublepipe for outgoing write (useful to consume
remote output when pushing large set of data) we need the doublepipe to work on
standard pipe too.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 May 2015 10:58:29 -0500] rev 25456
sshpeer: allow write operations through double pipe
We have a shiny toy, lets make it wider.
Pierre-Yves David <pierre-yves.david@fb.com> [Wed, 20 May 2015 17:40:47 -0500] rev 25455
sshpeer: rename 'size' to 'data' in doublepipe
We are about to add 'write' support, the argument will be either an int or a
string.
Augie Fackler <augie@google.com> [Fri, 05 Jun 2015 14:34:58 -0400] rev 25454
mq: ban \r and \n in patch names (issue4711)
This is at best crazy, and at worst will break things like the series
file. Let's just stop the madness.