contrib/wix/templates.wxs
author Martin von Zweigbergk <martinvonz@google.com>
Tue, 11 Jul 2017 10:46:35 -0700
changeset 33496 258298f4712b
parent 31788 d15c9feb4399
child 35228 5857eb81c1f3
permissions -rw-r--r--
sparse: override dirstate.walk() instead of dirstate._ignore Instead of treating files that are outside the sparse config as ignored, this makes it so we list only those that are within the sparse config by passing the sparse matcher to dirstate.walk(). Once we add support for narrow (sparseness applied to history, not just working copy), we will need to do a similar restriction of the walk over manifests, so this will be more consistent then. It also simplifies the code a bit. Note that a side-effect of this change is that files outside the sparse config used to be listed as ignored, but they will now not be listed at all. This can be seen in the test case where "hg purge" no longer has any effect because it doesn't see that the files outside the space config exist. To fix that, I think we should add an option to dirstate.walk() to walk outside the sparse config. We might expose that to the user as --no-sparse flag to e.g. "hg status" and "hg purge", but that's work for another day. Differential Revision: https://phab.mercurial-scm.org/D59

<?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="templatesFolder">

      <ComponentRef Id="templates.root" />

      <ComponentRef Id="templates.atom" />
      <ComponentRef Id="templates.coal" />
      <ComponentRef Id="templates.gitweb" />
      <ComponentRef Id="templates.json" />
      <ComponentRef Id="templates.monoblue" />
      <ComponentRef Id="templates.paper" />
      <ComponentRef Id="templates.raw" />
      <ComponentRef Id="templates.rss" />
      <ComponentRef Id="templates.spartan" />
      <ComponentRef Id="templates.static" />

    </ComponentGroup>
  </Fragment>

  <Fragment>
    <DirectoryRef Id="INSTALLDIR">

      <Directory Id="templatesdir" Name="templates" FileSource="$(var.SourceDir)">

        <Component Id="templates.root" Guid="$(var.templates.root.guid)" Win64='$(var.IsX64)'>
          <File Name="map-cmdline.changelog" KeyPath="yes" />
          <File Name="map-cmdline.compact" />
          <File Name="map-cmdline.default" />
          <File Name="map-cmdline.show" />
          <File Name="map-cmdline.bisect" />
          <File Name="map-cmdline.xml" />
          <File Name="map-cmdline.status" />
          <File Name="map-cmdline.phases" />
        </Component>

        <Directory Id="templates.jsondir" Name="json">
          <Component Id="templates.json" Guid="$(var.templates.json.guid)" Win64='$(var.IsX64)'>
            <File Id="json.changelist.tmpl" Name="changelist.tmpl" KeyPath="yes" />
            <File Id="json.map"             Name="map" />
          </Component>
        </Directory>

        <Directory Id="templates.atomdir" Name="atom">
          <Component Id="templates.atom" Guid="$(var.templates.atom.guid)" Win64='$(var.IsX64)'>
            <File Id="atom.changelog.tmpl"      Name="changelog.tmpl" KeyPath="yes" />
            <File Id="atom.changelogentry.tmpl" Name="changelogentry.tmpl" />
            <File Id="atom.error.tmpl"          Name="error.tmpl" />
            <File Id="atom.filelog.tmpl"        Name="filelog.tmpl" />
            <File Id="atom.header.tmpl"         Name="header.tmpl" />
            <File Id="atom.map"                 Name="map" />
            <File Id="atom.tagentry.tmpl"       Name="tagentry.tmpl" />
            <File Id="atom.tags.tmpl"           Name="tags.tmpl" />
            <File Id="atom.branchentry.tmpl"    Name="branchentry.tmpl" />
            <File Id="atom.branches.tmpl"       Name="branches.tmpl" />
            <File Id="atom.bookmarks.tmpl"      Name="bookmarks.tmpl" />
            <File Id="atom.bookmarkentry.tmpl"  Name="bookmarkentry.tmpl" />
          </Component>
        </Directory>

        <Directory Id="templates.coaldir" Name="coal">
          <Component Id="templates.coal" Guid="$(var.templates.coal.guid)" Win64='$(var.IsX64)'>
            <File Id="coal.header.tmpl" Name="header.tmpl" KeyPath="yes" />
            <File Id="coal.map"         Name="map" />
          </Component>
        </Directory>

        <Directory Id="templates.gitwebdir" Name="gitweb">
          <Component Id="templates.gitweb" Guid="$(var.templates.gitweb.guid)" Win64='$(var.IsX64)'>
            <File Id="gitweb.branches.tmpl"       Name="branches.tmpl" KeyPath="yes" />
            <File Id="gitweb.bookmarks.tmpl"      Name="bookmarks.tmpl" />
            <File Id="gitweb.changelog.tmpl"      Name="changelog.tmpl" />
            <File Id="gitweb.changelogentry.tmpl" Name="changelogentry.tmpl" />
            <File Id="gitweb.changeset.tmpl"      Name="changeset.tmpl" />
            <File Id="gitweb.error.tmpl"          Name="error.tmpl" />
            <File Id="gitweb.fileannotate.tmpl"   Name="fileannotate.tmpl" />
            <File Id="gitweb.filecomparison.tmpl" Name="filecomparison.tmpl" />
            <File Id="gitweb.filediff.tmpl"       Name="filediff.tmpl" />
            <File Id="gitweb.filelog.tmpl"        Name="filelog.tmpl" />
            <File Id="gitweb.filerevision.tmpl"   Name="filerevision.tmpl" />
            <File Id="gitweb.footer.tmpl"         Name="footer.tmpl" />
            <File Id="gitweb.graph.tmpl"          Name="graph.tmpl" />
            <File Id="gitweb.header.tmpl"         Name="header.tmpl" />
            <File Id="gitweb.index.tmpl"          Name="index.tmpl" />
            <File Id="gitweb.manifest.tmpl"       Name="manifest.tmpl" />
            <File Id="gitweb.map"                 Name="map" />
            <File Id="gitweb.notfound.tmpl"       Name="notfound.tmpl" />
            <File Id="gitweb.search.tmpl"         Name="search.tmpl" />
            <File Id="gitweb.shortlog.tmpl"       Name="shortlog.tmpl" />
            <File Id="gitweb.summary.tmpl"        Name="summary.tmpl" />
            <File Id="gitweb.tags.tmpl"           Name="tags.tmpl" />
            <File Id="gitweb.help.tmpl"           Name="help.tmpl" />
            <File Id="gitweb.helptopics.tmpl"     Name="helptopics.tmpl" />
          </Component>
        </Directory>

        <Directory Id="templates.monobluedir" Name="monoblue">
          <Component Id="templates.monoblue" Guid="$(var.templates.monoblue.guid)" Win64='$(var.IsX64)'>
            <File Id="monoblue.branches.tmpl"       Name="branches.tmpl" KeyPath="yes" />
            <File Id="monoblue.bookmarks.tmpl"      Name="bookmarks.tmpl" />
            <File Id="monoblue.changelog.tmpl"      Name="changelog.tmpl" />
            <File Id="monoblue.changelogentry.tmpl" Name="changelogentry.tmpl" />
            <File Id="monoblue.changeset.tmpl"      Name="changeset.tmpl" />
            <File Id="monoblue.error.tmpl"          Name="error.tmpl" />
            <File Id="monoblue.fileannotate.tmpl"   Name="fileannotate.tmpl" />
            <File Id="monoblue.filecomparison.tmpl" Name="filecomparison.tmpl" />
            <File Id="monoblue.filediff.tmpl"       Name="filediff.tmpl" />
            <File Id="monoblue.filelog.tmpl"        Name="filelog.tmpl" />
            <File Id="monoblue.filerevision.tmpl"   Name="filerevision.tmpl" />
            <File Id="monoblue.footer.tmpl"         Name="footer.tmpl" />
            <File Id="monoblue.graph.tmpl"          Name="graph.tmpl" />
            <File Id="monoblue.header.tmpl"         Name="header.tmpl" />
            <File Id="monoblue.index.tmpl"          Name="index.tmpl" />
            <File Id="monoblue.manifest.tmpl"       Name="manifest.tmpl" />
            <File Id="monoblue.map"                 Name="map" />
            <File Id="monoblue.notfound.tmpl"       Name="notfound.tmpl" />
            <File Id="monoblue.search.tmpl"         Name="search.tmpl" />
            <File Id="monoblue.shortlog.tmpl"       Name="shortlog.tmpl" />
            <File Id="monoblue.summary.tmpl"        Name="summary.tmpl" />
            <File Id="monoblue.tags.tmpl"           Name="tags.tmpl" />
            <File Id="monoblue.help.tmpl"           Name="help.tmpl" />
            <File Id="monoblue.helptopics.tmpl"     Name="helptopics.tmpl" />
          </Component>
        </Directory>

        <Directory Id="templates.paperdir" Name="paper">
          <Component Id="templates.paper" Guid="$(var.templates.paper.guid)" Win64='$(var.IsX64)'>
            <File Id="paper.branches.tmpl"      Name="branches.tmpl" KeyPath="yes" />
            <File Id="paper.bookmarks.tmpl"     Name="bookmarks.tmpl" />
            <File Id="paper.changeset.tmpl"     Name="changeset.tmpl" />
            <File Id="paper.diffstat.tmpl"      Name="diffstat.tmpl" />
            <File Id="paper.error.tmpl"         Name="error.tmpl" />
            <File Id="paper.fileannotate.tmpl"  Name="fileannotate.tmpl" />
            <File Id="paper.filecomparison.tmpl" Name="filecomparison.tmpl" />
            <File Id="paper.filediff.tmpl"      Name="filediff.tmpl" />
            <File Id="paper.filelog.tmpl"       Name="filelog.tmpl" />
            <File Id="paper.filelogentry.tmpl"  Name="filelogentry.tmpl" />
            <File Id="paper.filerevision.tmpl"  Name="filerevision.tmpl" />
            <File Id="paper.footer.tmpl"        Name="footer.tmpl" />
            <File Id="paper.graph.tmpl"         Name="graph.tmpl" />
            <File Id="paper.header.tmpl"        Name="header.tmpl" />
            <File Id="paper.index.tmpl"         Name="index.tmpl" />
            <File Id="paper.manifest.tmpl"      Name="manifest.tmpl" />
            <File Id="paper.map"                Name="map" />
            <File Id="paper.notfound.tmpl"      Name="notfound.tmpl" />
            <File Id="paper.search.tmpl"        Name="search.tmpl" />
            <File Id="paper.shortlog.tmpl"      Name="shortlog.tmpl" />
            <File Id="paper.shortlogentry.tmpl" Name="shortlogentry.tmpl" />
            <File Id="paper.tags.tmpl"          Name="tags.tmpl" />
            <File Id="paper.help.tmpl"          Name="help.tmpl" />
            <File Id="paper.helptopics.tmpl"    Name="helptopics.tmpl" />
          </Component>
        </Directory>

        <Directory Id="templates.rawdir" Name="raw">
          <Component Id="templates.raw" Guid="$(var.templates.raw.guid)" Win64='$(var.IsX64)'>
            <File Id="raw.changeset.tmpl"    Name="changeset.tmpl" KeyPath="yes" />
            <File Id="raw.error.tmpl"        Name="error.tmpl" />
            <File Id="raw.fileannotate.tmpl" Name="fileannotate.tmpl" />
            <File Id="raw.filediff.tmpl"     Name="filediff.tmpl" />
            <File Id="raw.graph.tmpl"        Name="graph.tmpl" />
            <File Id="raw.graphedge.tmpl"    Name="graphedge.tmpl" />
            <File Id="raw.graphnode.tmpl"    Name="graphnode.tmpl" />
            <File Id="raw.index.tmpl"        Name="index.tmpl" />
            <File Id="raw.manifest.tmpl"     Name="manifest.tmpl" />
            <File Id="raw.map"               Name="map" />
            <File Id="raw.notfound.tmpl"     Name="notfound.tmpl" />
            <File Id="raw.search.tmpl"       Name="search.tmpl" />
            <File Id="raw.logentry.tmpl"     Name="logentry.tmpl" />
            <File Id="raw.changelog.tmpl"    Name="changelog.tmpl" />
          </Component>
        </Directory>

        <Directory Id="templates.rssdir" Name="rss">
          <Component Id="templates.rss" Guid="$(var.templates.rss.guid)" Win64='$(var.IsX64)'>
            <File Id="rss.changelog.tmpl"      Name="changelog.tmpl" KeyPath="yes" />
            <File Id="rss.changelogentry.tmpl" Name="changelogentry.tmpl" />
            <File Id="rss.error.tmpl"          Name="error.tmpl" />
            <File Id="rss.filelog.tmpl"        Name="filelog.tmpl" />
            <File Id="rss.filelogentry.tmpl"   Name="filelogentry.tmpl" />
            <File Id="rss.header.tmpl"         Name="header.tmpl" />
            <File Id="rss.map"                 Name="map" />
            <File Id="rss.tagentry.tmpl"       Name="tagentry.tmpl" />
            <File Id="rss.tags.tmpl"           Name="tags.tmpl" />
            <File Id="rss.bookmarks.tmpl"      Name="bookmarks.tmpl" />
            <File Id="rss.bookmarkentry.tmpl"  Name="bookmarkentry.tmpl" />
            <File Id="rss.branchentry.tmpl"    Name="branchentry.tmpl" />
            <File Id="rss.branches.tmpl"       Name="branches.tmpl" />
          </Component>
        </Directory>

        <Directory Id="templates.spartandir" Name="spartan">
          <Component Id="templates.spartan" Guid="$(var.templates.spartan.guid)" Win64='$(var.IsX64)'>
            <File Id="spartan.branches.tmpl"       Name="branches.tmpl" KeyPath="yes" />
            <File Id="spartan.changelog.tmpl"      Name="changelog.tmpl" />
            <File Id="spartan.changelogentry.tmpl" Name="changelogentry.tmpl" />
            <File Id="spartan.changeset.tmpl"      Name="changeset.tmpl" />
            <File Id="spartan.error.tmpl"          Name="error.tmpl" />
            <File Id="spartan.fileannotate.tmpl"   Name="fileannotate.tmpl" />
            <File Id="spartan.filediff.tmpl"       Name="filediff.tmpl" />
            <File Id="spartan.filelog.tmpl"        Name="filelog.tmpl" />
            <File Id="spartan.filelogentry.tmpl"   Name="filelogentry.tmpl" />
            <File Id="spartan.filerevision.tmpl"   Name="filerevision.tmpl" />
            <File Id="spartan.footer.tmpl"         Name="footer.tmpl" />
            <File Id="spartan.graph.tmpl"          Name="graph.tmpl" />
            <File Id="spartan.header.tmpl"         Name="header.tmpl" />
            <File Id="spartan.index.tmpl"          Name="index.tmpl" />
            <File Id="spartan.manifest.tmpl"       Name="manifest.tmpl" />
            <File Id="spartan.map"                 Name="map" />
            <File Id="spartan.notfound.tmpl"       Name="notfound.tmpl" />
            <File Id="spartan.search.tmpl"         Name="search.tmpl" />
            <File Id="spartan.shortlog.tmpl"       Name="shortlog.tmpl" />
            <File Id="spartan.shortlogentry.tmpl"  Name="shortlogentry.tmpl" />
            <File Id="spartan.tags.tmpl"           Name="tags.tmpl" />
          </Component>
        </Directory>

        <Directory Id="templates.staticdir" Name="static">
          <Component Id="templates.static" Guid="$(var.templates.static.guid)" Win64='$(var.IsX64)'>
            <File Id="static.background.png"     Name="background.png" KeyPath="yes" />
            <File Id="static.coal.file.png"      Name="coal-file.png" />
            <File Id="static.coal.folder.png"    Name="coal-folder.png" />
            <File Id="static.excanvas.js"        Name="excanvas.js" />
            <File Id="static.followlines.js"     Name="followlines.js" />
            <File Id="static.mercurial.js"       Name="mercurial.js" />
            <File Id="static.hgicon.png"         Name="hgicon.png" />
            <File Id="static.hglogo.png"         Name="hglogo.png" />
            <File Id="static.style.coal.css"     Name="style-extra-coal.css" />
            <File Id="static.style.gitweb.css"   Name="style-gitweb.css" />
            <File Id="static.style.monoblue.css" Name="style-monoblue.css" />
            <File Id="static.style.paper.css"    Name="style-paper.css" />
            <File Id="static.style.css"          Name="style.css" />
            <File Id="static.feed.icon"          Name="feed-icon-14x14.png" />
          </Component>
        </Directory>

      </Directory>

    </DirectoryRef>
  </Fragment>

 </Wix>