Page MenuHomeIsabelle/Phabricator

Clarify underlying Mercurial version
Closed, ResolvedPublic

Description

According to Isabelle/597059a44d6f it is better to use Mercurial 2.8.2 to imitate https://admin.phacility.com (see also https://discourse.phabricator-community.org/t/prefer-old-mercurial-2-8-2-to-avoid-various-problems/3431).

On the other hand, a global /usr/local/bin/hg that is rather old also causes problems, e.g. excessive CPU usage with hgwebdir behind https://isabelle.sketis.net/repos (due to web crawlers exploring the site).

There are various possibilities and workarounds, e.g. different local Mercurial installations for different purposes. Eventually, it is better to get Phabricator updated according to https://discourse.phabricator-community.org/t/error-cloning-mercurial-repository-http-after-first-install/1200

diff --git a/src/applications/diffusion/protocol/DiffusionMercurialWireProtocol.php b/src/applications/diffusion/protocol/DiffusionMercurialWireProtocol.php
index 251935a6d..b90c40842 100644
--- a/src/applications/diffusion/protocol/DiffusionMercurialWireProtocol.php
+++ b/src/applications/diffusion/protocol/DiffusionMercurialWireProtocol.php
@@ -126,6 +126,7 @@ final class DiffusionMercurialWireProtocol extends Phobject {
         break;
       }
     }
+    array_push($parts, 'httpheader=1024');
     return implode(' ', $parts);
   }

Event Timeline

makarius created this task.

Following Isabelle/8b0b8b9ea653, Mercurial 3.9.2 from 23-Sep-2016 is fine for now:

  • It avoids odd branch cache problem (4.0 ... 5.0.1).
  • It avoids odd httpheader=1024 problem (after 4.1).
  • It can pull https://isabelle.sketis.net/repos without SSL certificate issues.

Thus it can be installed centrally as /usr/local/bin/hg and used uniformly without special tricks.

makarius updated the task description. (Show Details)
makarius updated the task description. (Show Details)

See recent Updates for Mercurial's HTTP protocol: https://we.phorge.it/D25471