Build: incompatible Mercurial versions from VCS setup than build commands
## Details

* Read the Docs project URL: https://readthedocs.org/projects/taskcluster-taskgraph/
* Build URL (if applicable): https://readthedocs.org/projects/taskcluster-taskgraph/builds/16259866/
* Read the Docs username (if applicable): ahal

## Expected Result

The builds should succeed :)

## Actual Result

Builds fail as seen [here](https://readthedocs.org/projects/taskcluster-taskgraph/builds/16259866/). I don't believe anything changed on the repo side, this was [working a week or two ago](https://readthedocs.org/projects/taskcluster-taskgraph/builds/).

```
hg identify --id
abort: repository requires features unknown to this Mercurial: sparserevlog!
(see https://mercurial-scm.org/wiki/MissingRequirement for more information) 
```

diff --git a/readthedocs/vcs_support/backends/hg.py b/readthedocs/vcs_support/backends/hg.py
index e37cb738f..0ca6ec833 100644
--- a/readthedocs/vcs_support/backends/hg.py
+++ b/readthedocs/vcs_support/backends/hg.py
@@ -33,7 +33,14 @@ class Backend(BaseVCS):
     def clone(self):
         self.make_clean_working_dir()
         try:
-            output = self.run("hg", "clone", self.repo_url, ".")
+            # Disable sparse-revlog extension when cloning because it's not
+            # included in older versions of Mercurial and producess an error
+            # when using an old version. See
+            # https://github.com/readthedocs/readthedocs.org/pull/9042/
+
+            output = self.run(
+                "hg", "clone", "--config", "format.sparse-revlog=no", self.repo_url, "."
+            )
             return output
         except RepositoryError:
             raise RepositoryError(RepositoryError.CLONE_ERROR)
['readthedocs/vcs_support/backends/hg.py']