##// END OF EJS Templates
bundle2: implement consume() API on unbundlepart...
bundle2: implement consume() API on unbundlepart We want bundle parts to not be seekable by default. That means eliminating the generic seek() method. A common pattern in bundle2.py is to seek to the end of the part data. This is mainly used by the part iteration code to ensure the underlying stream is advanced to the next bundle part. In this commit, we establish a dedicated API for consuming a bundle2 part data. We switch users of seek() to it. The old implementation of seek(0, os.SEEK_END) would effectively call self.read(). The new implementation calls self.read(32768) in a loop. The old implementation would therefore assemble a buffer to hold all remaining data being seeked over. For seeking over large bundle parts, this would involve a large allocation and a lot of overhead to collect intermediate data! This overhead can be seen in the results for `hg perfbundleread`: ! bundle2 iterparts() ! wall 10.891305 comb 10.820000 user 7.990000 sys 2.830000 (best of 3) ! wall 8.070791 comb 8.060000 user 7.180000 sys 0.880000 (best of 3) ! bundle2 part seek() ! wall 12.991478 comb 10.390000 user 7.720000 sys 2.670000 (best of 3) ! wall 10.370142 comb 10.350000 user 7.430000 sys 2.920000 (best of 3) Of course, skipping over large payload data isn't likely very common. So I doubt the performance wins will be observed in the wild. Differential Revision: https://phab.mercurial-scm.org/D1388

File last commit:

r30888:561a019c stable
r35111:db503852 default
Show More
mercurial.wxs
162 lines | 7.0 KiB | text/plain | TextLexer
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <?xml version='1.0' encoding='windows-1252'?>
<Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'>
<!-- Copyright 2010 Steve Borho <steve@borho.org>
This software may be used and distributed according to the terms of the
GNU General Public License version 2 or any later version. -->
Adrian Buehlmann
wix updates...
r10930 <?include guids.wxi ?>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <?include defines.wxi ?>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041 <?if $(var.Platform) = "x64" ?>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <?define PFolder = ProgramFiles64Folder ?>
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041 <?else?>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <?define PFolder = ProgramFilesFolder ?>
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041 <?endif?>
Adrian Buehlmann
wix updates...
r10930 <Product Id='*'
Mads Kiilerich
codingstyle: remove trailing spaces in various text files...
r19023 Name='Mercurial $(var.Version) ($(var.Platform))'
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 UpgradeCode='$(var.ProductUpgradeCode)'
Adrian Buehlmann
wix updates...
r10930 Language='1033' Codepage='1252' Version='$(var.Version)'
Manufacturer='Matt Mackall and others'>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513
Adrian Buehlmann
wix updates...
r10930 <Package Id='*'
Keywords='Installer'
Description="Mercurial distributed SCM (version $(var.Version))"
Comments='$(var.Comments)'
Steve Borho
wix: add support for x64 native MSI packages
r13042 Platform='$(var.Platform)'
Adrian Buehlmann
wix updates...
r10930 Manufacturer='Matt Mackall and others'
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 InstallerVersion='300' Languages='1033' Compressed='yes' SummaryCodepage='1252' />
Adrian Buehlmann
wix updates...
r10930 <Media Id='1' Cabinet='mercurial.cab' EmbedCab='yes' DiskPrompt='CD-ROM #1'
CompressionLevel='high' />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <Property Id='DiskPrompt' Value="Mercurial $(var.Version) Installation [1]" />
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Condition Message='Mercurial MSI installers require Windows XP or higher'>
VersionNT >= 501
</Condition>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513
<Property Id="INSTALLDIR">
Adrian Buehlmann
wix updates...
r10930 <ComponentSearch Id='SearchForMainExecutableComponent'
Guid='$(var.ComponentMainExecutableGUID)' />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Property>
<!--Property Id='ARPCOMMENTS'>any comments</Property-->
FUJIWARA Katsunori
misc: replace domain of mercurial ML address by mercurial-scm.org...
r30888 <Property Id='ARPCONTACT'>mercurial@mercurial-scm.org</Property>
Matt Mackall
urls: bulk-change primary website URLs
r26421 <Property Id='ARPHELPLINK'>https://mercurial-scm.org/wiki/</Property>
<Property Id='ARPURLINFOABOUT'>https://mercurial-scm.org/about/</Property>
<Property Id='ARPURLUPDATEINFO'>https://mercurial-scm.org/downloads/</Property>
<Property Id='ARPHELPTELEPHONE'>https://mercurial-scm.org/wiki/Support</Property>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <Property Id='ARPPRODUCTICON'>hgIcon.ico</Property>
<Property Id='INSTALLEDMERCURIALPRODUCTS' Secure='yes'></Property>
<Property Id='REINSTALLMODE'>amus</Property>
Steve Borho
wix: pre-check the 'I approve this license' checkbox...
r10610 <!--Auto-accept the license page-->
<Property Id='LicenseAccepted'>1</Property>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <Directory Id='TARGETDIR' Name='SourceDir'>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Directory Id='$(var.PFolder)' Name='PFiles'>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <Directory Id='INSTALLDIR' Name='Mercurial'>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Component Id='MainExecutable' Guid='$(var.ComponentMainExecutableGUID)' Win64='$(var.IsX64)'>
Adrian Buehlmann
wix updates...
r10930 <File Id='hgEXE' Name='hg.exe' Source='dist\hg.exe' KeyPath='yes' />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <Environment Id="Environment" Name="PATH" Part="last" System="yes"
Steve Borho
wix: drop bin/ folder from MSI installers (issue 2673)...
r13563 Permanent="no" Value="[INSTALLDIR]" Action="set" />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Component>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Component Id='ReadMe' Guid='$(var.ReadMe.guid)' Win64='$(var.IsX64)'>
Adrian Buehlmann
wix updates...
r10930 <File Id='ReadMe' Name='ReadMe.html' Source='contrib\win32\ReadMe.html'
KeyPath='yes'/>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Component>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Component Id='COPYING' Guid='$(var.COPYING.guid)' Win64='$(var.IsX64)'>
Adrian Buehlmann
wix updates...
r10930 <File Id='COPYING' Name='COPYING.rtf' Source='contrib\wix\COPYING.rtf'
KeyPath='yes'/>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Component>
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <Directory Id='HGRCD' Name='hgrc.d'>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Component Id='mercurial.rc' Guid='$(var.mercurial.rc.guid)' Win64='$(var.IsX64)'>
Adrian Buehlmann
wix updates...
r10930 <File Id='mercurial.rc' Name='Mercurial.rc' Source='contrib\win32\mercurial.ini'
ReadOnly='yes' KeyPath='yes'/>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Component>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Component Id='mergetools.rc' Guid='$(var.mergetools.rc.guid)' Win64='$(var.IsX64)'>
Pascal Quantin
win32: fix win32 installers generation...
r23174 <File Id='mergetools.rc' Name='MergeTools.rc' Source='mercurial\default.d\mergetools.rc'
Adrian Buehlmann
wix updates...
r10930 ReadOnly='yes' KeyPath='yes'/>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Component>
</Directory>
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Directory>
</Directory>
<Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="Mercurial $(var.Version)">
Steve Borho
wix: add support for x64 native MSI packages
r13042 <Component Id="ProgramMenuDir" Guid="$(var.ProgramMenuDir.guid)" Win64='$(var.IsX64)'>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <RemoveFolder Id='ProgramMenuDir' On='uninstall' />
<RegistryValue Root='HKCU' Key='Software\Mercurial\InstallDir' Type='string'
Value='[INSTALLDIR]' KeyPath='yes' />
Adrian Buehlmann
wix updates...
r10930 <Shortcut Id='UrlShortcut' Directory='ProgramMenuDir' Name='Mercurial Web Site'
Target='[ARPHELPLINK]' Icon="hgIcon.ico" IconIndex='0' />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Component>
</Directory>
</Directory>
Steve Borho
wix: add support for x64 native MSI packages
r13042 <?if $(var.Platform) = "x86" ?>
<Merge Id='VCRuntime' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x86_msm.msm' />
<Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x86_msm.msm' />
<?else?>
<Merge Id='VCRuntime' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\microsoft.vcxx.crt.x64_msm.msm' />
<Merge Id='VCRuntimePolicy' DiskId='1' Language='1033'
SourceFile='$(var.VCRedistSrcDir)\policy.x.xx.microsoft.vcxx.crt.x64_msm.msm' />
<?endif?>
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Directory>
Adrian Buehlmann
wix: don't show version in title of root feature...
r10733 <Feature Id='Complete' Title='Mercurial' Description='The complete package'
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 Display='expand' Level='1' ConfigurableDirectory='INSTALLDIR' >
<Feature Id='MainProgram' Title='Program' Description='Mercurial command line app'
Level='1' Absent='disallow' >
<ComponentRef Id='MainExecutable' />
Steve Borho
wix: switch Mercurial Windows installer to use py2exe --bundle 3...
r13041 <ComponentRef Id='distOutput' />
Steve Borho
wix: move library.zip and all *.pyd into a lib/ folder...
r25409 <ComponentRef Id='libOutput' />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <ComponentRef Id='ProgramMenuDir' />
<ComponentRef Id='ReadMe' />
<ComponentRef Id='COPYING' />
<ComponentRef Id='mercurial.rc' />
<ComponentRef Id='mergetools.rc' />
Matt Harbison
wix: add help for current internal topics...
r27684 <ComponentGroupRef Id='helpFolder' />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 <ComponentGroupRef Id='templatesFolder' />
<MergeRef Id='VCRuntime' />
<MergeRef Id='VCRuntimePolicy' />
</Feature>
<Feature Id='Locales' Title='Translations' Description='Translations' Level='1'>
<ComponentGroupRef Id='localeFolder' />
Adrian Buehlmann
wix: refactor and new guids.wxi
r10828 <ComponentRef Id='i18nFolder' />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513 </Feature>
<Feature Id='Documentation' Title='Documentation' Description='HTML man pages' Level='1'>
<ComponentGroupRef Id='docFolder' />
</Feature>
<Feature Id='Misc' Title='Miscellaneous' Description='Contributed scripts' Level='1'>
<ComponentGroupRef Id='contribFolder' />
</Feature>
</Feature>
<UIRef Id="WixUI_FeatureTree" />
<UIRef Id="WixUI_ErrorProgressText" />
Adrian Buehlmann
contrib/wix: add COPYING.rtf...
r10552 <WixVariable Id="WixUILicenseRtf" Value="contrib\wix\COPYING.rtf" />
Adrian Buehlmann
contrib/wix: switch *.wxs files to LF eol
r10513
<Icon Id="hgIcon.ico" SourceFile="contrib/win32/mercurial.ico" />
<Upgrade Id='$(var.ProductUpgradeCode)'>
<UpgradeVersion
IncludeMinimum='yes' Minimum='0.0.0' IncludeMaximum='no' OnlyDetect='no'
Property='INSTALLEDMERCURIALPRODUCTS' />
</Upgrade>
<InstallExecuteSequence>
<RemoveExistingProducts After='InstallInitialize'/>
</InstallExecuteSequence>
</Product>
</Wix>