revlog: introduce an explicit NodeMap class for pure code
This class make the "pure" nodemap raise the same exception than the C-extension
one.
This is a step toward unifying nodemap and index, the class is not meant to
survive on the long run.
This work is part of a refactoring to unify the revlog index and the nodemap.
This unification prepare the use of a persistent nodemap.
There is a new `isinstance` call, it will be cleaned up in coming changesets.
Differential Revision: https://phab.mercurial-scm.org/D7312
utils: move the `dirs` definition in pathutil (API)
Before this change, the `dirs` class was accessible through the `mercurial.util`
module. That module is expected to stay free of scm specific content.
The `pathutil` destination has been selection by Martin von Zweigbergk.
This work is part of a refactoring to unify the revlog index and the nodemap.
This unification prepare the use of a persistent nodemap.
Differential Revision: https://phab.mercurial-scm.org/D7311
packaging: stop installing i18n files
The WiX installer has been shipping the content of the i18n/
directory since it was introduced in 2010 in
1e022c88a0a5.
And the installer was subsequently refactored to only ship
the .po files and hggettext.
The .po files and the hggettext script are only used at build
time to produce .mo files, which Mercurial does use at run-time.
It doesn't make sense to install these files on Windows. So
this commit stops doing that.
This change further converges the file layout of the Inno and
WiX installers.
Differential Revision: https://phab.mercurial-scm.org/D7165
packaging: install hgk as hgk.tcl
Giving it a file extension will give Windows a better chance
at being able to execute it via standard means. This also
makes WiX consistent with the Inno installer.
Differential Revision: https://phab.mercurial-scm.org/D7164
packaging: add logo-droplets.svg
The WiX installer adds this file. Let's add it to the
Inno installer for consistency.
Differential Revision: https://phab.mercurial-scm.org/D7163
packaging: install documentation to doc/ directory
The source directory is "doc" and "doc" is used by the WiX
installer. I think it makes sense to converge on the canonical
path name. While we're here, we also lower the case because
we can. (I think lower case names make more sense plus it is
more consistent.)
This only affects the Inno installer at the moment because
it is the only installer using the staging code.
Differential Revision: https://phab.mercurial-scm.org/D7162
packaging: always pass VERSION into Inno invocation
The code in the Inno file was a holdover from before we had
Python driving execution.
With Python in the driver's seat, we can now have it resolve
the version string and pass it into Inno, making the code
easier to understand for people who aren't packaging gurus.
Differential Revision: https://phab.mercurial-scm.org/D7161