The conclusion is that Phabricator does not, in fact, generate stable
patch links. In any case, these have landed, so we can just use the
patches from Mercurial's hgweb instance instead, which should be more
stable.
The git extension is bundled in-tree, similarly to the hg gui, but also
requires pygit2. Enable it for mercurialFull, but don't bother with it
for the stock mercurial install.
Alas, it doesn't (yet?) work on nixpkgs because it doesn't support
octopus merges:
mercurial.error.ProgrammingError: git support can't handle octopus
merges, found a commit with 16 parents :(
I'm sure that commit is loved equally by all 16 parents.
tortoisehg intentionally wants to back-date the Mercurial build,
and some of the features we've added to the Mercurial build won't work
correctly under hg 5.6.
The Rust extensions provide speedups for core Mercurial functionality.
We should start building with them.
They're only CI-tested on Linux, so they're disabled for non-Linux
platforms for now by default.
* tortoisehg: untie from mercurial
When I've added `tortoisehg` package, it turned out that mercurial updates
sometimes broke thg. I've added a comment to `mercurial/default.nix` to
update torotisehg version during mercurial updates, but this worked the other way round:
mercurial stopped to be updated regularly (https://github.com/NixOS/nixpkgs/pull/60993).
And sadly it didn't solve the issue - https://github.com/NixOS/nixpkgs/issues/61759.
Here I'm trying to untie them. Tortoisehg will build a custom mercurial package
if versions don't match. This makes updating tortoisehg more complicated,
but it is still better than current situation.
* expose custom mercurial from thg package
Semi-automatic update generated by https://github.com/ryantm/nix-update tools. These checks were done:
- built on NixOS
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/hg -h` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/hg --help` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/hg help` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/hg --version` and found version 4.5.2
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/hg version` and found version 4.5.2
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/..hg-wrapped-wrapped -h` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/..hg-wrapped-wrapped --help` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/..hg-wrapped-wrapped help` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/..hg-wrapped-wrapped --version` and found version 4.5.2
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/..hg-wrapped-wrapped version` and found version 4.5.2
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/.hg-wrapped -h` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/.hg-wrapped --help` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/.hg-wrapped help` got 0 exit code
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/.hg-wrapped --version` and found version 4.5.2
- ran `/nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2/bin/.hg-wrapped version` and found version 4.5.2
- found 4.5.2 with grep in /nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2
- found 4.5.2 in filename of file in /nix/store/vr3mxrjhmmpqydkd69z3fdc7qjdsafgz-mercurial-4.5.2
- directory tree listing: https://gist.github.com/7a681b5af1e240918913ffd718e9b3e9