Mercurial > hg
view contrib/wix/doc.wxs @ 24995:0579b0c2ea2b
tryimportone: use dirstateguard instead of beginparentchange/endparentchange
To fix the issue that the recent (in memory) dirstate isn't visible to
external process (e.g. "precommit" hook), a subsequent patch makes
"localrepository.commit()" invoke "dirstate.write()" in it.
This change will make "beginparentchange()" and "endparentchange()" on
dirstate in "cmdutil.tryimportone()" meaningless, because:
- "dirstate.write()" writes changed data into ".hg/dirstate", but
- aborting between "beginparentchange()" and "endparentchange()"
doesn't cause any restoring ".hg/dirstate"
it just discards changes in memory.
This patch uses "dirstateguard" instead of "beginparentchange()" and
"endparentchange()" in "cmdutil.tryimportone()" to restore
".hg/dirstate" during a failure even if "dirstate.write()" is executed
before a failure.
This patch uses "lockmod.release(dsguard)" instead of
"dsguard.release()", because processing may be aborted before
assignment to "dsguard" , and the "if dsguard" examination for safety is
redundant.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 07 May 2015 12:07:11 +0900 |
parents | bd9bc4123920 |
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> <ComponentGroup Id="docFolder"> <ComponentRef Id="doc.hg.1.html" /> <ComponentRef Id="doc.hgignore.5.html" /> <ComponentRef Id="doc.hgrc.5.html" /> <ComponentRef Id="doc.style.css" /> </ComponentGroup> </Fragment> <Fragment> <DirectoryRef Id="INSTALLDIR"> <Directory Id="docdir" Name="doc" FileSource="$(var.SourceDir)"> <Component Id="doc.hg.1.html" Guid="$(var.doc.hg.1.html.guid)" Win64='$(var.IsX64)'> <File Name="hg.1.html" KeyPath="yes"> <Shortcut Id="hg1StartMenu" Directory="ProgramMenuDir" Name="Mercurial Command Reference" Icon="hgIcon.ico" IconIndex="0" Advertise="yes" /> </File> </Component> <Component Id="doc.hgignore.5.html" Guid="$(var.doc.hgignore.5.html.guid)" Win64='$(var.IsX64)'> <File Name="hgignore.5.html" KeyPath="yes"> <Shortcut Id="hgignore5StartMenu" Directory="ProgramMenuDir" Name="Mercurial Ignore Files" Icon="hgIcon.ico" IconIndex="0" Advertise="yes" /> </File> </Component> <Component Id="doc.hgrc.5.html" Guid="$(var.doc.hgrc.5.html)" Win64='$(var.IsX64)'> <File Name="hgrc.5.html" KeyPath="yes"> <Shortcut Id="hgrc5StartMenu" Directory="ProgramMenuDir" Name="Mercurial Configuration Files" Icon="hgIcon.ico" IconIndex="0" Advertise="yes" /> </File> </Component> <Component Id="doc.style.css" Guid="$(var.doc.style.css)" Win64='$(var.IsX64)'> <File Name="style.css" KeyPath="yes" /> </Component> </Directory> </DirectoryRef> </Fragment> </Wix>