Mercurial > hg
annotate contrib/wix/doc.wxs @ 24992:7df090c9c9fe
localrepo: use changelog.hasnode instead of self.__contains__
Before this patch, releasing the store lock implies the actions below, when
the transaction is aborted:
1. "commithook()" scheduled in "localrepository.commit()" is invoked
2. "changectx.__init__()" is invoked via "self.__contains__()"
3. specified ID is examined against "repo.dirstate.p1()"
4. validation function is invoked in "dirstate.p1()"
In subsequent patches, "dirstate.invalidate()" invocations for
discarding changes are replaced with "dirstateguard", but discarding
changes by "dirstateguard" is executed after releasing the store lock:
resources are acquired in "wlock => dirstateguard => store lock" order,
and are released in reverse order.
This may cause that "dirstate.p1()" still refers to the changeset to be
rolled-back at (4) above: pushing multiple patches by "hg qpush" is
a typical case.
When releasing the store lock, such changesets are:
- not contained in "repo.changelog", if it is reloaded from
".hg/00changelog.i", as that file was already truncated by
"transaction.abort()"
- still contained in it, otherwise
(this "dirty read" problem is discussed in "Transaction Plan"
http://mercurial.selenic.com/wiki/TransactionPlan)
Validation function shows "unknown working parent" warning in the
former case, but reloading "repo.changelog" depends on the timestamp
of ".hg/00changelog.i". This causes occasional test failures.
In the case of scheduled "commithook()", it just wants to examine
whether "node ID" of committed changeset is still valid or not. Other
examinations implied in "changectx.__init__()" are meaningless.
To avoid showing the "unknown working parent" warning irregularly, this
patch uses "changelog.hasnode()" instead of "node in self" to examine
existence of committed changeset.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 07 May 2015 12:07:10 +0900 |
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> |