packaging: install .rc files to hgrc.d
Currently, Inno installs these .rc files to a default.d
directory and WiX to a hgrc.d directory.
Mercurial automatically loads files in an hgrc.d directory
next to the executable and in an "internal" default.d directory.
This "internal" directory is util.datadir, which on Windows
installs made with py2exe is the directory containing hg.exe.
So on Windows both hgrc.d and default.d directories relative
to hg.exe are loaded.
For the install layout, I think it makes sense for hgrc.d to
be used, as that path is documented as non-internal. So this
commit changes the Inno install layout to use hgrc.d instead
of default.d.
.. bc::
Changed default config file location in Windows .exe installers
Mercurial's installer installs some default .rc config
files. Previously, these were installed in a default.d
directory. These are now installed in an hgrc.d directory.
Custom default.d/*.rc files should still be loaded. But it
is recommended to move these to hgrc.d/*.rc.
This change only affects the .exe installers (not the .msi
installers).
Differential Revision: https://phab.mercurial-scm.org/D7168
--- a/contrib/packaging/hgpackaging/py2exe.py Thu Nov 07 11:13:31 2019 +0100
+++ b/contrib/packaging/hgpackaging/py2exe.py Wed Oct 23 13:00:14 2019 -0700
@@ -45,7 +45,7 @@
('doc/*.html', 'doc/'),
('doc/style.css', 'doc/'),
('mercurial/help/**/*.txt', 'help/'),
- ('mercurial/default.d/*.rc', 'default.d/'),
+ ('mercurial/default.d/*.rc', 'hgrc.d/'),
('mercurial/locale/**/*', 'locale/'),
('mercurial/templates/**/*', 'Templates/'),
('CONTRIBUTORS', 'Contributors.txt'),
--- a/contrib/packaging/inno/mercurial.iss Thu Nov 07 11:13:31 2019 +0100
+++ b/contrib/packaging/inno/mercurial.iss Wed Oct 23 13:00:14 2019 -0700
@@ -48,11 +48,11 @@
[INI]
Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: https://mercurial-scm.org/
-Filename: {app}\default.d\editor.rc; Section: ui; Key: editor; String: notepad
+Filename: {app}\hgrc.d\editor.rc; Section: ui; Key: editor; String: notepad
[UninstallDelete]
Type: files; Name: {app}\Mercurial.url
-Type: filesandordirs; Name: {app}\default.d
+Type: filesandordirs; Name: {app}\hgrc.d
[Icons]
Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}