Otherwise, the shrunken index file always has mode 0600 thanks to
mkstemp(). This is annoying on a server, where multiple users may need
to read/write the manifest. chmod()ing the data file is not strictly
necessary, but it's nice for consistency.
Another tool had -10 already. Since 'merge' is clearly a worst-case
tool (internal), lowering to -100 ensures there's plenty of room for
slightly better cases.
The version is already shown in the title bar of the feature selection dialog
and in the text of the welcome dialog. It's unusual for Windows programs to repeat
the version in the root feature.
This helps external tool customisation. The logfunc argument must be a
function called to report errors. A new logger class is also added to
keep the old behaviour by default.
Without this, Mercurial is registered under the installed programs
on Windows as just 'Mercurial', which is unusual for a program to do
on Windows.
Including the version in the registered product name registers the
software in the Windows control panel of installed programs as, for
example, 'Mercurial 1.5' (for 1.5), or as
'Mercurial 1.5.1032' for a stable 1.5+32-d9a6645d6d9b
'Mercurial 1.5.5080' for a unstable 1.5+80-1119076dd3e8
when using http://bitbucket.org/tortoisehg/thg-winbuild to create
daily builds.
Furthermore, the install UI texts in the built installer database (MSI
file) are more clear on what the user is about to install, as, for example,
the text in the initial installer dialog now reads
"The Setup Wizard will install Mercurial 1.5 on your computer"
instead of just
"The Setup Wizard will install Mercurial on your computer"
Based on a patch by Benoit Boissinot, adapted to the pluggable sort
algorithm design. toposort_reversepostorder() is a very good
performer; it's designed to recreate what the revlog would have looked
like if Mercurial had parent deltas now. toposort_postorderreverse()
is unstable and very inconsistent, but perhaps with some work it could
be made better.