Page MenuHomePhabricator

Ignoring missing version information on binaries doesn't seem to work
Closed, DuplicatePublic

Description

A user is reporting that the version information for their hg is Mercurial - 分散構成管理ツール(バージョン 4.3.1), which in Diffusion is now triggering a conduit error, even if the setup issue is ignored.

Unable to Retrieve Paths
ERR-CONDUIT-CORE: Unable to determine the installed version of binary "hg". This version is required.

To verify this I hard-coded the version in PhutilMercurialBinaryAnalyzer and ignored the setup warning. Error still persists.

Event Timeline

The version is strictly required because different versions of hg use different command syntax. If we can not determine which version of hg is installed, we can not run hg commands.

This may be some variant of T7339 or some similar task.

That is, specifically, it expected that hg commands do not work in Phabricator if it can not determine the version of hg, so this is not a bug. Ignoring the setup warning might mean "we used to do Mercurial stuff but don't anymore, leaving us with some archived Mercurial repositories which we don't really need to look at, so it's okay that hg commands won't be able to run".

Ah, it sounded like a regression from the report. I haven't tried to bisect to determine if that was true.

The behavior may have changed, but the change is from "we sometimes silently do the wrong thing" to "we explicitly refuse to do the wrong thing".