##// END OF EJS Templates
branching: merge with stable
Martin von Zweigbergk -
r47182:1c667958 merge default
parent child Browse files
Show More
@@ -1,61 +1,61
1 Requirements
1 Requirements
2 ============
2 ============
3
3
4 Building the Inno installer requires a Windows machine.
4 Building the Inno installer requires a Windows machine.
5
5
6 The following system dependencies must be installed:
6 The following system dependencies must be installed:
7
7
8 * Python 2.7 (download from https://www.python.org/downloads/)
8 * Python 2.7 (download from https://www.python.org/downloads/)
9 * Microsoft Visual C++ Compiler for Python 2.7
9 * Microsoft Visual C++ Compiler for Python 2.7
10 (https://www.microsoft.com/en-us/download/details.aspx?id=44266)
10 (https://www.microsoft.com/en-us/download/details.aspx?id=44266)
11 * Inno Setup (http://jrsoftware.org/isdl.php) version 5.4 or newer.
11 * Inno Setup (http://jrsoftware.org/isdl.php) version 5.4 or newer.
12 Be sure to install the optional Inno Setup Preprocessor feature,
12 Be sure to install the optional Inno Setup Preprocessor feature,
13 which is required.
13 which is required.
14 * Python 3.5+ (to run the ``packaging.py`` script)
14 * Python 3.5+ (to run the ``packaging.py`` script)
15
15
16 Building
16 Building
17 ========
17 ========
18
18
19 The ``packaging.py`` script automates the process of producing an
19 The ``packaging.py`` script automates the process of producing an
20 Inno installer. It manages fetching and configuring the
20 Inno installer. It manages fetching and configuring the
21 non-system dependencies (such as py2exe, gettext, and various
21 non-system dependencies (such as py2exe, gettext, and various
22 Python packages).
22 Python packages).
23
23
24 The script requires an activated ``Visual C++ 2008`` command prompt.
24 The script requires an activated ``Visual C++ 2008`` command prompt.
25 A shortcut to such a prompt was installed with ``Microsoft Visual C++
25 A shortcut to such a prompt was installed with ``Microsoft Visual C++
26 Compiler for Python 2.7``. From your Start Menu, look for
26 Compiler for Python 2.7``. From your Start Menu, look for
27 ``Microsoft Visual C++ Compiler Package for Python 2.7`` then launch
27 ``Microsoft Visual C++ Compiler Package for Python 2.7`` then launch
28 either ``Visual C++ 2008 32-bit Command Prompt`` or
28 either ``Visual C++ 2008 32-bit Command Prompt`` or
29 ``Visual C++ 2008 64-bit Command Prompt``.
29 ``Visual C++ 2008 64-bit Command Prompt``.
30
30
31 From the prompt, change to the Mercurial source directory. e.g.
31 From the prompt, change to the Mercurial source directory. e.g.
32 ``cd c:\src\hg``.
32 ``cd c:\src\hg``.
33
33
34 Next, invoke ``packaging.py`` to produce an Inno installer. You will
34 Next, invoke ``packaging.py`` to produce an Inno installer. You will
35 need to supply the path to the Python interpreter to use.::
35 need to supply the path to the Python interpreter to use.::
36
36
37 $ python3.exe contrib\packaging\packaging.py \
37 $ py -3 contrib\packaging\packaging.py \
38 inno --python c:\python27\python.exe
38 inno --python c:\python27\python.exe
39
39
40 .. note::
40 .. note::
41
41
42 The script validates that the Visual C++ environment is
42 The script validates that the Visual C++ environment is
43 active and that the architecture of the specified Python
43 active and that the architecture of the specified Python
44 interpreter matches the Visual C++ environment and errors
44 interpreter matches the Visual C++ environment and errors
45 if not.
45 if not.
46
46
47 If everything runs as intended, dependencies will be fetched and
47 If everything runs as intended, dependencies will be fetched and
48 configured into the ``build`` sub-directory, Mercurial will be built,
48 configured into the ``build`` sub-directory, Mercurial will be built,
49 and an installer placed in the ``dist`` sub-directory. The final
49 and an installer placed in the ``dist`` sub-directory. The final
50 line of output should print the name of the generated installer.
50 line of output should print the name of the generated installer.
51
51
52 Additional options may be configured. Run
52 Additional options may be configured. Run
53 ``packaging.py inno --help`` to see a list of program flags.
53 ``packaging.py inno --help`` to see a list of program flags.
54
54
55 MinGW
55 MinGW
56 =====
56 =====
57
57
58 It is theoretically possible to generate an installer that uses
58 It is theoretically possible to generate an installer that uses
59 MinGW. This isn't well tested and ``packaging.py`` and may properly
59 MinGW. This isn't well tested and ``packaging.py`` and may properly
60 support it. See old versions of this file in version control for
60 support it. See old versions of this file in version control for
61 potentially useful hints as to how to achieve this.
61 potentially useful hints as to how to achieve this.
@@ -1,152 +1,153
1 <?xml version='1.0' encoding='windows-1252'?>
1 <?xml version='1.0' encoding='windows-1252'?>
2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
2 <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
3
3
4 <!-- Copyright 2010 Steve Borho <steve@borho.org>
4 <!-- Copyright 2010 Steve Borho <steve@borho.org>
5
5
6 This software may be used and distributed according to the terms of the
6 This software may be used and distributed according to the terms of the
7 GNU General Public License version 2 or any later version. -->
7 GNU General Public License version 2 or any later version. -->
8
8
9 <?include guids.wxi ?>
9 <?include guids.wxi ?>
10 <?include defines.wxi ?>
10 <?include defines.wxi ?>
11
11
12 <?if $(var.Platform) = "x64" ?>
12 <?if $(var.Platform) = "x64" ?>
13 <?define PFolder = ProgramFiles64Folder ?>
13 <?define PFolder = ProgramFiles64Folder ?>
14 <?else?>
14 <?else?>
15 <?define PFolder = ProgramFilesFolder ?>
15 <?define PFolder = ProgramFilesFolder ?>
16 <?endif?>
16 <?endif?>
17
17
18 <Product Id='*'
18 <Product Id='*'
19 Name='Mercurial $(var.Version) ($(var.Platform))'
19 Name='Mercurial $(var.Version) ($(var.Platform))'
20 UpgradeCode='$(var.ProductUpgradeCode)'
20 UpgradeCode='$(var.ProductUpgradeCode)'
21 Language='1033' Codepage='1252' Version='$(var.Version)'
21 Language='1033' Codepage='1252' Version='$(var.Version)'
22 Manufacturer='Matt Mackall and others'>
22 Manufacturer='Matt Mackall and others'>
23
23
24 <Package Id='*'
24 <Package Id='*'
25 Keywords='Installer'
25 Keywords='Installer'
26 Description="Mercurial distributed SCM (version $(var.Version))"
26 Description="Mercurial distributed SCM (version $(var.Version))"
27 Comments='$(var.Comments)'
27 Comments='$(var.Comments)'
28 Platform='$(var.Platform)'
28 Platform='$(var.Platform)'
29 Manufacturer='Matt Mackall and others'
29 Manufacturer='Matt Mackall and others'
30 InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
30 InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
31
31
32 <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
32 <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
33 CompressionLevel='high' />
33 CompressionLevel='high' />
34 <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
34 <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
35
35
36 <Condition Message='Mercurial MSI installers require Windows XP or higher'>
36 <Condition Message='Mercurial MSI installers require Windows XP or higher'>
37 VersionNT >= 501
37 VersionNT >= 501
38 </Condition>
38 </Condition>
39
39
40 <Property Id="INSTALLDIR">
40 <Property Id="INSTALLDIR">
41 <ComponentSearch Id='SearchForMainExecutableComponent'
41 <ComponentSearch Id='SearchForMainExecutableComponent'
42 Guid='$(var.ComponentMainExecutableGUID)' />
42 Guid='$(var.ComponentMainExecutableGUID)'
43 Type='directory' />
43 </Property>
44 </Property>
44
45
45 <!--Property Id='ARPCOMMENTS'>any comments</Property-->
46 <!--Property Id='ARPCOMMENTS'>any comments</Property-->
46 <Property Id='ARPCONTACT'>mercurial@mercurial-scm.org</Property>
47 <Property Id='ARPCONTACT'>mercurial@mercurial-scm.org</Property>
47 <Property Id='ARPHELPLINK'>https://mercurial-scm.org/wiki/</Property>
48 <Property Id='ARPHELPLINK'>https://mercurial-scm.org/wiki/</Property>
48 <Property Id='ARPURLINFOABOUT'>https://mercurial-scm.org/about/</Property>
49 <Property Id='ARPURLINFOABOUT'>https://mercurial-scm.org/about/</Property>
49 <Property Id='ARPURLUPDATEINFO'>https://mercurial-scm.org/downloads/</Property>
50 <Property Id='ARPURLUPDATEINFO'>https://mercurial-scm.org/downloads/</Property>
50 <Property Id='ARPHELPTELEPHONE'>https://mercurial-scm.org/wiki/Support</Property>
51 <Property Id='ARPHELPTELEPHONE'>https://mercurial-scm.org/wiki/Support</Property>
51 <Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
52 <Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
52
53
53 <Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
54 <Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
54 <Property Id='REINSTALLMODE'>amus</Property>
55 <Property Id='REINSTALLMODE'>amus</Property>
55
56
56 <!--Auto-accept the license page-->
57 <!--Auto-accept the license page-->
57 <Property Id='LicenseAccepted'>1</Property>
58 <Property Id='LicenseAccepted'>1</Property>
58
59
59 <Directory Id='TARGETDIR' Name='SourceDir'>
60 <Directory Id='TARGETDIR' Name='SourceDir'>
60 <Directory Id='$(var.PFolder)' Name='PFiles'>
61 <Directory Id='$(var.PFolder)' Name='PFiles'>
61 <Directory Id='INSTALLDIR' Name='Mercurial'>
62 <Directory Id='INSTALLDIR' Name='Mercurial'>
62 <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
63 <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
63 <CreateFolder />
64 <CreateFolder />
64 <Environment Id="Environment" Name="PATH" Part="last" System="yes"
65 <Environment Id="Environment" Name="PATH" Part="last" System="yes"
65 Permanent="no" Value="[INSTALLDIR]" Action="set" />
66 Permanent="no" Value="[INSTALLDIR]" Action="set" />
66 </Component>
67 </Component>
67 </Directory>
68 </Directory>
68 </Directory>
69 </Directory>
69
70
70 <Directory Id="ProgramMenuFolder" Name="Programs">
71 <Directory Id="ProgramMenuFolder" Name="Programs">
71 <Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
72 <Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
72 <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
73 <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
73 <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
74 <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
74 <RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
75 <RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
75 Value='[INSTALLDIR]' KeyPath='yes' />
76 Value='[INSTALLDIR]' KeyPath='yes' />
76 <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
77 <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
77 Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
78 Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
78 </Component>
79 </Component>
79 </Directory>
80 </Directory>
80 </Directory>
81 </Directory>
81
82
82 <!-- Install VCRedist merge modules on Python 2. On Python 3,
83 <!-- Install VCRedist merge modules on Python 2. On Python 3,
83 vcruntimeXXX.dll is part of the install layout and gets picked up
84 vcruntimeXXX.dll is part of the install layout and gets picked up
84 as a regular file. -->
85 as a regular file. -->
85 <?if $(var.PythonVersion) = "2" ?>
86 <?if $(var.PythonVersion) = "2" ?>
86 <?if $(var.Platform) = "x86" ?>
87 <?if $(var.Platform) = "x86" ?>
87 <Merge Id='VCRuntime' DiskId='1' Language='1033'
88 <Merge Id='VCRuntime' DiskId='1' Language='1033'
88 SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
89 SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
89 <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
90 <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
90 SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
91 SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
91 <?else?>
92 <?else?>
92 <Merge Id='VCRuntime' DiskId='1' Language='1033'
93 <Merge Id='VCRuntime' DiskId='1' Language='1033'
93 SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
94 SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
94 <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
95 <Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
95 SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
96 SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
96 <?endif?>
97 <?endif?>
97 <?endif?>
98 <?endif?>
98 </Directory>
99 </Directory>
99
100
100 <Feature Id='Complete' Title='Mercurial' Description='The complete package'
101 <Feature Id='Complete' Title='Mercurial' Description='The complete package'
101 Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
102 Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
102 <Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
103 <Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
103 Level='1' Absent='disallow' >
104 Level='1' Absent='disallow' >
104 <ComponentRef Id='MainExecutable' />
105 <ComponentRef Id='MainExecutable' />
105 <ComponentRef Id='ProgramMenuDir' />
106 <ComponentRef Id='ProgramMenuDir' />
106 <ComponentGroupRef Id="hg.group.ROOT" />
107 <ComponentGroupRef Id="hg.group.ROOT" />
107 <ComponentGroupRef Id="hg.group.defaultrc" />
108 <ComponentGroupRef Id="hg.group.defaultrc" />
108 <ComponentGroupRef Id="hg.group.helptext" />
109 <ComponentGroupRef Id="hg.group.helptext" />
109 <?ifdef MercurialHasLib?>
110 <?ifdef MercurialHasLib?>
110 <ComponentGroupRef Id="hg.group.lib" />
111 <ComponentGroupRef Id="hg.group.lib" />
111 <?endif?>
112 <?endif?>
112 <ComponentGroupRef Id="hg.group.templates" />
113 <ComponentGroupRef Id="hg.group.templates" />
113 <?if $(var.PythonVersion) = "2" ?>
114 <?if $(var.PythonVersion) = "2" ?>
114 <MergeRef Id='VCRuntime' />
115 <MergeRef Id='VCRuntime' />
115 <MergeRef Id='VCRuntimePolicy' />
116 <MergeRef Id='VCRuntimePolicy' />
116 <?endif?>
117 <?endif?>
117 </Feature>
118 </Feature>
118 <?ifdef MercurialExtraFeatures?>
119 <?ifdef MercurialExtraFeatures?>
119 <?foreach EXTRAFEAT in $(var.MercurialExtraFeatures)?>
120 <?foreach EXTRAFEAT in $(var.MercurialExtraFeatures)?>
120 <FeatureRef Id="$(var.EXTRAFEAT)" />
121 <FeatureRef Id="$(var.EXTRAFEAT)" />
121 <?endforeach?>
122 <?endforeach?>
122 <?endif?>
123 <?endif?>
123 <Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
124 <Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
124 <ComponentGroupRef Id="hg.group.locale" />
125 <ComponentGroupRef Id="hg.group.locale" />
125 </Feature>
126 </Feature>
126 <Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
127 <Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
127 <ComponentGroupRef Id="hg.group.doc" />
128 <ComponentGroupRef Id="hg.group.doc" />
128 </Feature>
129 </Feature>
129 <Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
130 <Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
130 <ComponentGroupRef Id="hg.group.contrib" />
131 <ComponentGroupRef Id="hg.group.contrib" />
131 </Feature>
132 </Feature>
132 </Feature>
133 </Feature>
133
134
134 <UIRef Id="WixUI_FeatureTree" />
135 <UIRef Id="WixUI_FeatureTree" />
135 <UIRef Id="WixUI_ErrorProgressText" />
136 <UIRef Id="WixUI_ErrorProgressText" />
136
137
137 <WixVariable Id="WixUILicenseRtf" Value="contrib\packaging\wix\COPYING.rtf" />
138 <WixVariable Id="WixUILicenseRtf" Value="contrib\packaging\wix\COPYING.rtf" />
138
139
139 <Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
140 <Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
140
141
141 <Upgrade Id='$(var.ProductUpgradeCode)'>
142 <Upgrade Id='$(var.ProductUpgradeCode)'>
142 <UpgradeVersion
143 <UpgradeVersion
143 IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
144 IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
144 Property='INSTALLEDMERCURIALPRODUCTS' />
145 Property='INSTALLEDMERCURIALPRODUCTS' />
145 </Upgrade>
146 </Upgrade>
146
147
147 <InstallExecuteSequence>
148 <InstallExecuteSequence>
148 <RemoveExistingProducts After='InstallInitialize'/>
149 <RemoveExistingProducts After='InstallInitialize'/>
149 </InstallExecuteSequence>
150 </InstallExecuteSequence>
150
151
151 </Product>
152 </Product>
152 </Wix>
153 </Wix>
@@ -1,71 +1,71
1 WiX Installer
1 WiX Installer
2 =============
2 =============
3
3
4 The files in this directory are used to produce an MSI installer using
4 The files in this directory are used to produce an MSI installer using
5 the WiX Toolset (http://wixtoolset.org/).
5 the WiX Toolset (http://wixtoolset.org/).
6
6
7 The MSI installers require elevated (admin) privileges due to the
7 The MSI installers require elevated (admin) privileges due to the
8 installation of MSVC CRT libraries into the Windows system store. See
8 installation of MSVC CRT libraries into the Windows system store. See
9 the Inno Setup installers in the ``inno`` sibling directory for installers
9 the Inno Setup installers in the ``inno`` sibling directory for installers
10 that do not have this requirement.
10 that do not have this requirement.
11
11
12 Requirements
12 Requirements
13 ============
13 ============
14
14
15 Building the WiX installers requires a Windows machine. The following
15 Building the WiX installers requires a Windows machine. The following
16 dependencies must be installed:
16 dependencies must be installed:
17
17
18 * Python 2.7 (download from https://www.python.org/downloads/)
18 * Python 2.7 (download from https://www.python.org/downloads/)
19 * Microsoft Visual C++ Compiler for Python 2.7
19 * Microsoft Visual C++ Compiler for Python 2.7
20 (https://www.microsoft.com/en-us/download/details.aspx?id=44266)
20 (https://www.microsoft.com/en-us/download/details.aspx?id=44266)
21 * Python 3.5+ (to run the ``packaging.py`` script)
21 * Python 3.5+ (to run the ``packaging.py`` script)
22
22
23 Building
23 Building
24 ========
24 ========
25
25
26 The ``packaging.py`` script automates the process of producing an MSI
26 The ``packaging.py`` script automates the process of producing an MSI
27 installer. It manages fetching and configuring non-system dependencies
27 installer. It manages fetching and configuring non-system dependencies
28 (such as py2exe, gettext, and various Python packages).
28 (such as py2exe, gettext, and various Python packages).
29
29
30 The script requires an activated ``Visual C++ 2008`` command prompt.
30 The script requires an activated ``Visual C++ 2008`` command prompt.
31 A shortcut to such a prompt was installed with ``Microsoft Visual
31 A shortcut to such a prompt was installed with ``Microsoft Visual
32 C++ Compiler for Python 2.7``. From your Start Menu, look for
32 C++ Compiler for Python 2.7``. From your Start Menu, look for
33 ``Microsoft Visual C++ Compiler Package for Python 2.7`` then
33 ``Microsoft Visual C++ Compiler Package for Python 2.7`` then
34 launch either ``Visual C++ 2008 32-bit Command Prompt`` or
34 launch either ``Visual C++ 2008 32-bit Command Prompt`` or
35 ``Visual C++ 2008 64-bit Command Prompt``.
35 ``Visual C++ 2008 64-bit Command Prompt``.
36
36
37 From the prompt, change to the Mercurial source directory. e.g.
37 From the prompt, change to the Mercurial source directory. e.g.
38 ``cd c:\src\hg``.
38 ``cd c:\src\hg``.
39
39
40 Next, invoke ``packaging.py`` to produce an MSI installer. You will need
40 Next, invoke ``packaging.py`` to produce an MSI installer. You will need
41 to supply the path to the Python interpreter to use.::
41 to supply the path to the Python interpreter to use.::
42
42
43 $ python3 contrib\packaging\packaging.py \
43 $ py -3 contrib\packaging\packaging.py \
44 wix --python c:\python27\python.exe
44 wix --python c:\python27\python.exe
45
45
46 .. note::
46 .. note::
47
47
48 The script validates that the Visual C++ environment is active and
48 The script validates that the Visual C++ environment is active and
49 that the architecture of the specified Python interpreter matches the
49 that the architecture of the specified Python interpreter matches the
50 Visual C++ environment. An error is raised otherwise.
50 Visual C++ environment. An error is raised otherwise.
51
51
52 If everything runs as intended, dependencies will be fetched and
52 If everything runs as intended, dependencies will be fetched and
53 configured into the ``build`` sub-directory, Mercurial will be built,
53 configured into the ``build`` sub-directory, Mercurial will be built,
54 and an installer placed in the ``dist`` sub-directory. The final line
54 and an installer placed in the ``dist`` sub-directory. The final line
55 of output should print the name of the generated installer.
55 of output should print the name of the generated installer.
56
56
57 Additional options may be configured. Run ``packaging.py wix --help`` to
57 Additional options may be configured. Run ``packaging.py wix --help`` to
58 see a list of program flags.
58 see a list of program flags.
59
59
60 Relationship to TortoiseHG
60 Relationship to TortoiseHG
61 ==========================
61 ==========================
62
62
63 TortoiseHG uses the WiX files in this directory.
63 TortoiseHG uses the WiX files in this directory.
64
64
65 The code for building TortoiseHG installers lives at
65 The code for building TortoiseHG installers lives at
66 https://bitbucket.org/tortoisehg/thg-winbuild and is maintained by
66 https://bitbucket.org/tortoisehg/thg-winbuild and is maintained by
67 Steve Borho (steve@borho.org).
67 Steve Borho (steve@borho.org).
68
68
69 When changing behavior of the WiX installer, be sure to notify
69 When changing behavior of the WiX installer, be sure to notify
70 the TortoiseHG Project of the changes so they have ample time
70 the TortoiseHG Project of the changes so they have ample time
71 provide feedback and react to those changes.
71 provide feedback and react to those changes.
@@ -1,72 +1,76
1 == New Features ==
1 == New Features ==
2
2
3 * There is a new config section for templates used by hg commands. It
3 * There is a new config section for templates used by hg commands. It
4 is called `[command-templates]`. Some existing config options have
4 is called `[command-templates]`. Some existing config options have
5 been deprecated in favor of config options in the new
5 been deprecated in favor of config options in the new
6 section. These are: `ui.logtemplate` to `command-templates.log`,
6 section. These are: `ui.logtemplate` to `command-templates.log`,
7 `ui.graphnodetemplate` to `command-templates.graphnode`,
7 `ui.graphnodetemplate` to `command-templates.graphnode`,
8 `ui.mergemarkertemplate` to `command-templates.mergemarker`,
8 `ui.mergemarkertemplate` to `command-templates.mergemarker`,
9 `ui.pre-merge-tool-output-template` to
9 `ui.pre-merge-tool-output-template` to
10 `command-templates.pre-merge-tool-output`.
10 `command-templates.pre-merge-tool-output`.
11
11
12 * There is a new set of config options for the template used for the
12 * There is a new set of config options for the template used for the
13 one-line commit summary displayed by various commands, such as `hg
13 one-line commit summary displayed by various commands, such as `hg
14 rebase`. The main one is `command-templates.oneline-summary`. That
14 rebase`. The main one is `command-templates.oneline-summary`. That
15 can be overridden per command with
15 can be overridden per command with
16 `command-templates.oneline-summary.<command>`, where `<command>`
16 `command-templates.oneline-summary.<command>`, where `<command>`
17 can be e.g. `rebase`. As part of this effort, the default format
17 can be e.g. `rebase`. As part of this effort, the default format
18 from `hg rebase` was reorganized a bit.
18 from `hg rebase` was reorganized a bit.
19
19
20 * `hg purge` is now a core command using `--confirm` by default.
20 * `hg purge` is now a core command using `--confirm` by default.
21
21
22 * `hg strip`, from the strip extension, is now a core command, `hg
22 * `hg strip`, from the strip extension, is now a core command, `hg
23 debugstrip`. The extension remains for compatibility.
23 debugstrip`. The extension remains for compatibility.
24
24
25 * `hg diff` and `hg extdiff` now support `--from <rev>` and `--to <rev>`
25 * `hg diff` and `hg extdiff` now support `--from <rev>` and `--to <rev>`
26 arguments as clearer alternatives to `-r <revs>`. `-r <revs>` has been
26 arguments as clearer alternatives to `-r <revs>`. `-r <revs>` has been
27 deprecated.
27 deprecated.
28
28
29 * The memory footprint per changeset during pull/unbundle
29 * The memory footprint per changeset during pull/unbundle
30 operations has been further reduced.
30 operations has been further reduced.
31
31
32 * There is a new internal merge tool called `internal:mergediff` (can
32 * There is a new internal merge tool called `internal:mergediff` (can
33 be set as the value for the `merge` config in the `[ui]`
33 be set as the value for the `merge` config in the `[ui]`
34 section). It resolves merges the same was as `internal:merge` and
34 section). It resolves merges the same was as `internal:merge` and
35 `internal:merge3`, but it shows conflicts differently. Instead of
35 `internal:merge3`, but it shows conflicts differently. Instead of
36 showing 2 or 3 snapshots of the conflicting pieces of code, it
36 showing 2 or 3 snapshots of the conflicting pieces of code, it
37 shows one snapshot and a diff. This may be useful when at least one
37 shows one snapshot and a diff. This may be useful when at least one
38 side of the conflict is similar to the base. The new marker style
38 side of the conflict is similar to the base. The new marker style
39 is also supported by "premerge" as
39 is also supported by "premerge" as
40 `merge-tools.<tool>.premerge=keep-mergediff`.
40 `merge-tools.<tool>.premerge=keep-mergediff`.
41
41
42 * External hooks are now called with `HGPLAIN=1` preset.
42 * External hooks are now called with `HGPLAIN=1` preset. This has the side
43 effect of ignoring aliases, templates, revsetaliases, and a few other config
44 options in any `hg` command spawned by the hook. The previous behavior
45 can be restored by setting HGPLAINEXCEPT appropriately in the parent process.
46 See `hg help environment` for the list of items, and how to set it.
43
47
44 * The `branchmap` cache is updated more intelligently and can be
48 * The `branchmap` cache is updated more intelligently and can be
45 significantly faster for repositories with many branches and changesets.
49 significantly faster for repositories with many branches and changesets.
46
50
47 * The `rev-branch-cache` is now updated incrementally whenever changesets
51 * The `rev-branch-cache` is now updated incrementally whenever changesets
48 are added.
52 are added.
49
53
50
54
51 == New Experimental Features ==
55 == New Experimental Features ==
52
56
53 * `experimental.single-head-per-branch:public-changes-only` can be used
57 * `experimental.single-head-per-branch:public-changes-only` can be used
54 restrict the single head check to public revision. This is useful for
58 restrict the single head check to public revision. This is useful for
55 overlay repository that have both a publishing and non-publishing view
59 overlay repository that have both a publishing and non-publishing view
56 of the same storage.
60 of the same storage.
57
61
58
62
59 == Bug Fixes ==
63 == Bug Fixes ==
60
64
61
65
62
66
63 == Backwards Compatibility Changes ==
67 == Backwards Compatibility Changes ==
64
68
65 * `--force-lock` and `--force-wlock` options on `hg debuglock` command are
69 * `--force-lock` and `--force-wlock` options on `hg debuglock` command are
66 renamed to `--force-free-lock` and `--force-free-wlock` respectively.
70 renamed to `--force-free-lock` and `--force-free-wlock` respectively.
67
71
68
72
69 == Internal API Changes ==
73 == Internal API Changes ==
70
74
71 * `changelog.branchinfo` is deprecated and will be removed after 5.8.
75 * `changelog.branchinfo` is deprecated and will be removed after 5.8.
72 It is superseded by `changelogrevision.branchinfo`.
76 It is superseded by `changelogrevision.branchinfo`.
@@ -1,72 +1,22
1 == New Features ==
1 == New Features ==
2
2
3 * There is a new config section for templates used by hg commands. It
4 is called `[command-templates]`. Some existing config options have
5 been deprecated in favor of config options in the new
6 section. These are: `ui.logtemplate` to `command-templates.log`,
7 `ui.graphnodetemplate` to `command-templates.graphnode`,
8 `ui.mergemarkertemplate` to `command-templates.mergemarker`,
9 `ui.pre-merge-tool-output-template` to
10 `command-templates.pre-merge-tool-output`.
11
12 * There is a new set of config options for the template used for the
13 one-line commit summary displayed by various commands, such as `hg
14 rebase`. The main one is `command-templates.oneline-summary`. That
15 can be overridden per command with
16 `command-templates.oneline-summary.<command>`, where `<command>`
17 can be e.g. `rebase`. As part of this effort, the default format
18 from `hg rebase` was reorganized a bit.
19
20 * `hg purge` is now a core command using `--confirm` by default.
3 * `hg purge` is now a core command using `--confirm` by default.
21
4
22 * `hg strip`, from the strip extension, is now a core command, `hg
23 debugstrip`. The extension remains for compatibility.
24
25 * `hg diff` and `hg extdiff` now support `--from <rev>` and `--to <rev>`
26 arguments as clearer alternatives to `-r <revs>`. `-r <revs>` has been
27 deprecated.
28
29 * The memory footprint per changeset during pull/unbundle
30 operations has been further reduced.
31
32 * There is a new internal merge tool called `internal:mergediff` (can
33 be set as the value for the `merge` config in the `[ui]`
34 section). It resolves merges the same was as `internal:merge` and
35 `internal:merge3`, but it shows conflicts differently. Instead of
36 showing 2 or 3 snapshots of the conflicting pieces of code, it
37 shows one snapshot and a diff. This may be useful when at least one
38 side of the conflict is similar to the base. The new marker style
39 is also supported by "premerge" as
40 `merge-tools.<tool>.premerge=keep-mergediff`.
41
42 * External hooks are now called with `HGPLAIN=1` preset.
43
44 * The `branchmap` cache is updated more intelligently and can be
45 significantly faster for repositories with many branches and changesets.
46
47 * The `rev-branch-cache` is now updated incrementally whenever changesets
5 * The `rev-branch-cache` is now updated incrementally whenever changesets
48 are added.
6 are added.
49
7
50
8
51 == New Experimental Features ==
9 == New Experimental Features ==
52
10
53 * `experimental.single-head-per-branch:public-changes-only` can be used
54 restrict the single head check to public revision. This is useful for
55 overlay repository that have both a publishing and non-publishing view
56 of the same storage.
57
58
11
59 == Bug Fixes ==
12 == Bug Fixes ==
60
13
61
14
62
15
63 == Backwards Compatibility Changes ==
16 == Backwards Compatibility Changes ==
64
17
65 * `--force-lock` and `--force-wlock` options on `hg debuglock` command are
66 renamed to `--force-free-lock` and `--force-free-wlock` respectively.
67
68
18
69 == Internal API Changes ==
19 == Internal API Changes ==
70
20
71 * `changelog.branchinfo` is deprecated and will be removed after 5.8.
21 * `changelog.branchinfo` is deprecated and will be removed after 5.8.
72 It is superseded by `changelogrevision.branchinfo`.
22 It is superseded by `changelogrevision.branchinfo`.
General Comments 0
You need to be logged in to leave comments. Login now