Mercurial > hg-stable
view contrib/wix/dist.wxs @ 41298:88a7c211b21e stable
narrow: fix crash when restoring backup in legacy repo
Using --addremove when committing in an old repo (before we started
keeping .hg/narrowspec.dirstate) results in a crash. The test
case modified in this patch would crash like this:
abort: $ENOENT$
The issue is that when the dirstateguard is aborted, it tries to
restore the backup of .hg/narrowspec.dirstate. However, since we were
in an old repo, that file did not get created when the dirstateguard
was created. Note that the dirstateguard is not used unless
--addremove is passed.
This patch fixes the bug by making restorewcbackup() not fail if the
backup doesn't exist. I also made clearwcbackup() safe, just in case.
Differential Revision: https://phab.mercurial-scm.org/D5634
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 18 Jan 2019 23:32:26 -0800 |
parents | 2025bf60adb2 |
children |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <?include guids.wxi ?> <?include defines.wxi ?> <Fragment> <DirectoryRef Id="INSTALLDIR" FileSource="$(var.SourceDir)"> <Component Id="distOutput" Guid="$(var.dist.guid)" Win64='$(var.IsX64)'> <File Name="python27.dll" KeyPath="yes" /> </Component> <Directory Id="libdir" Name="lib" FileSource="$(var.SourceDir)/lib"> <Component Id="libOutput" Guid="$(var.lib.guid)" Win64='$(var.IsX64)'> <File Name="library.zip" KeyPath="yes" /> <File Name="mercurial.cext.base85.pyd" /> <File Name="mercurial.cext.bdiff.pyd" /> <File Name="mercurial.cext.mpatch.pyd" /> <File Name="mercurial.cext.osutil.pyd" /> <File Name="mercurial.cext.parsers.pyd" /> <File Name="mercurial.zstd.pyd" /> <File Name="hgext.fsmonitor.pywatchman.bser.pyd" /> <File Name="pyexpat.pyd" /> <File Name="bz2.pyd" /> <File Name="select.pyd" /> <File Name="unicodedata.pyd" /> <File Name="_ctypes.pyd" /> <File Name="_elementtree.pyd" /> <File Name="_testcapi.pyd" /> <File Name="_hashlib.pyd" /> <File Name="_socket.pyd" /> <File Name="_ssl.pyd" /> </Component> </Directory> </DirectoryRef> </Fragment> </Wix>