mirror of
https://we.phorge.it/source/phorge.git
synced 2025-02-17 01:08:41 +01:00
Remove an obsolete comment about Mercurial SSH error behavior
Summary: Depends on D18855. Ref T13036. This comment no longer seems to be accurate: anything we send over `stderr` is faithfully shown to the user with recent clients. From [[ https://www.mercurial-scm.org/repo/hg/file/default/mercurial/help/internals/wireprotocol.txt | this document ]], the missing sauce may have been: ``` A generic error response type is also supported. It consists of a an error message written to ``stderr`` followed by ``\n-\n``. In addition, ``\n`` is written to ``stdout``. ``` That is, writing "\n" to stdout in addition to writing the error to stderr. However, this no longer appears to be necessary. I think the modern client behavior is generally sensible (and consistent with the behavior of Git and Subversion) so this //probably// isn't a bug or me making a mistake. Test Plan: With a modern client, threw some arbitrary exception during execution. Observed a helpful message on the client with no additional steps. Reviewers: amckinley Reviewed By: amckinley Maniphest Tasks: T13036 Differential Revision: https://secure.phabricator.com/D18856
This commit is contained in:
parent
0f02d79ffa
commit
3a4e14431f
1 changed files with 0 additions and 11 deletions
|
@ -66,17 +66,6 @@ final class DiffusionMercurialServeSSHWorkflow
|
||||||
->setWillWriteCallback(array($this, 'willWriteMessageCallback'))
|
->setWillWriteCallback(array($this, 'willWriteMessageCallback'))
|
||||||
->execute();
|
->execute();
|
||||||
|
|
||||||
// TODO: It's apparently technically possible to communicate errors to
|
|
||||||
// Mercurial over SSH by writing a special "\n<error>\n-\n" string. However,
|
|
||||||
// my attempt to implement that resulted in Mercurial closing the socket and
|
|
||||||
// then hanging, without showing the error. This might be an issue on our
|
|
||||||
// side (we need to close our half of the socket?), or maybe the code
|
|
||||||
// for this in Mercurial doesn't actually work, or maybe something else
|
|
||||||
// is afoot. At some point, we should look into doing this more cleanly.
|
|
||||||
// For now, when we, e.g., reject writes for policy reasons, the user will
|
|
||||||
// see "abort: unexpected response: empty string" after the diagnostically
|
|
||||||
// useful, e.g., "remote: This repository is read-only over SSH." message.
|
|
||||||
|
|
||||||
if (!$err && $this->didSeeWrite) {
|
if (!$err && $this->didSeeWrite) {
|
||||||
$repository->writeStatusMessage(
|
$repository->writeStatusMessage(
|
||||||
PhabricatorRepositoryStatusMessage::TYPE_NEEDS_UPDATE,
|
PhabricatorRepositoryStatusMessage::TYPE_NEEDS_UPDATE,
|
||||||
|
|
Loading…
Add table
Reference in a new issue