Mercurial > hg
annotate contrib/wix/doc.wxs @ 37337:d257c5f2a940
tests: add test extension implementing custom filelog storage
In order to better support partial clones, we'll need alternate
repository storage mechanisms that aren't based on revlogs.
Today, the interface for repository storage isn't very well defined.
And there are various layering violations and assumptions made
throughout the code that storage is backed by revlogs.
In order to support alternate storage mechanisms, we'll need to
formally declare and adhere to interfaces for storage. This will
be a long, arduous process.
This commit creates an extension that implements non-revlog storage
for files. It defines a custom type that quacks like the existing
revlog/filelog API but isn't backed by a revlog. The backing storage
is - for simplicity reasons - a CBOR index and per-node files
representing fulltext data.
The localrepository class is modified so file(f) returns instances of
this class instead of filelog instances.
The purpose of this extension is to tease out what the actual filelog
interface is - based on running the test harness - so we can formalize
that interface and then implement a *real* alternate storage backend.
Using `run-tests.py --extra-config-opt` to run the test harness
with this extension enabled yields 83 failures out of 634 ran
tests.
The most common test failures are due to:
* Issues with `hg verify`
* LFS and largefiles (probably flags processing related)
* Narrow.
* Any test touching or inspecting individual filelog paths.
* help and error output that is confused by the presence of an
extension.
* `hg debug*` commands doing low-level, revlog-y things.
An 88% pass rate is pretty good for an initial implementation if you
ask me!
There is a bit of duplicate code in the new extension. That's by
design: a point of this code is to tease out dependencies on revlog.
That being said, there is opportunity to consolidate code by moving
things out of the revlog API. For example, DAG traversal operations
don't necessarily need to be implemented at the storage level. (Although
for performance reasons they probably do.) Once we have a more
well-defined interface, we could probably define the default
implementations in terms of the base interface, pull those in via
class inheritance, and have implementations override with faster
versions if they so choose. (Or something like that.) But for now,
the duplicate code should be acceptable.
Differential Revision: https://phab.mercurial-scm.org/D3029
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 04 Apr 2018 11:37:07 -0700 |
parents | bd9bc4123920 |
children |
rev | line source |
---|---|
10513
47838dee7d60
contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents:
10502
diff
changeset
|
1 <?xml version="1.0" encoding="utf-8"?> |
47838dee7d60
contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents:
10502
diff
changeset
|
2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
3 |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
4 <?include guids.wxi ?> |
13042
bd9bc4123920
wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents:
10930
diff
changeset
|
5 <?include defines.wxi ?> |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
6 |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
7 <Fragment> |
10930 | 8 <ComponentGroup Id="docFolder"> |
9 <ComponentRef Id="doc.hg.1.html" /> | |
10 <ComponentRef Id="doc.hgignore.5.html" /> | |
11 <ComponentRef Id="doc.hgrc.5.html" /> | |
12 <ComponentRef Id="doc.style.css" /> | |
13 </ComponentGroup> | |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
14 </Fragment> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
15 |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
16 <Fragment> |
10930 | 17 <DirectoryRef Id="INSTALLDIR"> |
18 <Directory Id="docdir" Name="doc" FileSource="$(var.SourceDir)"> | |
13042
bd9bc4123920
wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents:
10930
diff
changeset
|
19 <Component Id="doc.hg.1.html" Guid="$(var.doc.hg.1.html.guid)" Win64='$(var.IsX64)'> |
10930 | 20 <File Name="hg.1.html" KeyPath="yes"> |
21 <Shortcut Id="hg1StartMenu" Directory="ProgramMenuDir" | |
22 Name="Mercurial Command Reference" | |
23 Icon="hgIcon.ico" IconIndex="0" Advertise="yes" | |
24 /> | |
25 </File> | |
26 </Component> | |
13042
bd9bc4123920
wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents:
10930
diff
changeset
|
27 <Component Id="doc.hgignore.5.html" Guid="$(var.doc.hgignore.5.html.guid)" Win64='$(var.IsX64)'> |
10930 | 28 <File Name="hgignore.5.html" KeyPath="yes"> |
29 <Shortcut Id="hgignore5StartMenu" Directory="ProgramMenuDir" | |
30 Name="Mercurial Ignore Files" | |
31 Icon="hgIcon.ico" IconIndex="0" Advertise="yes" | |
32 /> | |
33 </File> | |
34 </Component> | |
13042
bd9bc4123920
wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents:
10930
diff
changeset
|
35 <Component Id="doc.hgrc.5.html" Guid="$(var.doc.hgrc.5.html)" Win64='$(var.IsX64)'> |
10930 | 36 <File Name="hgrc.5.html" KeyPath="yes"> |
37 <Shortcut Id="hgrc5StartMenu" Directory="ProgramMenuDir" | |
38 Name="Mercurial Configuration Files" | |
39 Icon="hgIcon.ico" IconIndex="0" Advertise="yes" | |
40 /> | |
41 </File> | |
42 </Component> | |
13042
bd9bc4123920
wix: add support for x64 native MSI packages
Steve Borho <steve@borho.org>
parents:
10930
diff
changeset
|
43 <Component Id="doc.style.css" Guid="$(var.doc.style.css)" Win64='$(var.IsX64)'> |
10930 | 44 <File Name="style.css" KeyPath="yes" /> |
45 </Component> | |
46 </Directory> | |
47 </DirectoryRef> | |
10828
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
48 </Fragment> |
1aa9464ce9ae
wix: refactor and new guids.wxi
Adrian Buehlmann <adrian@cadifra.com>
parents:
10513
diff
changeset
|
49 |
10513
47838dee7d60
contrib/wix: switch *.wxs files to LF eol
Adrian Buehlmann <adrian@cadifra.com>
parents:
10502
diff
changeset
|
50 </Wix> |