contrib/wix/doc.wxs
author Mads Kiilerich <madski@unity3d.com>
Thu, 27 Oct 2016 20:06:33 +0200
branchstable
changeset 30233 3afde791dce1
parent 13042 bd9bc4123920
permissions -rw-r--r--
largefiles: handle that a found standin file doesn't exist when removing it I somehow ended up in a situation where hg crashed on an unlink I introduced in 328545c7d8a1. I don't know how it happened and can't reproduce it. It seems like it only can happen when the file is removed between the time of check in a working directory context walk that finds a standin file, and the time of use when we try to remove it because the corresponding largefile doesn't exist. But better safe than sorry: replace the plain unlink with unlinkpath with ignoremissing=True. That will also remove remaining empty directories, which arguably is more correct.

<?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>