##// END OF EJS Templates
revisionbranchcache: fall back to slow path if starting readonly (issue4531)...
revisionbranchcache: fall back to slow path if starting readonly (issue4531) Transitioning to Mercurial versions with revision branch cache could be slow as long as all operations were readonly (revset queries) and the cache would be populated but not written back. Instead, fall back to using the consistently slow path when readonly and the cache doesn't exist yet. That avoids the overhead of populating the cache without writing it back. If not readonly, it will still populate all missing entries initially. That avoids repeated writing of the cache file with small updates, and it also makes sure a fully populated cache available for the readonly operations.

File last commit:

r22955:fab9dda0 default
r24159:5b4ed033 3.3.1 stable
Show More
test-subrepo-missing.t
98 lines | 2.4 KiB | text/troff | Tads3Lexer
/ tests / test-subrepo-missing.t
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 $ hg init repo
$ cd repo
$ hg init subrepo
$ echo a > subrepo/a
$ hg -R subrepo ci -Am adda
adding a
$ echo 'subrepo = subrepo' > .hgsub
$ hg ci -Am addsubrepo
adding .hgsub
$ echo b > subrepo/b
$ hg -R subrepo ci -Am addb
adding b
$ hg ci -m updatedsub
Patrick Mezard
subrepo: ignore blank lines in .hgsubstate (issue3424)...
r16595 ignore blanklines in .hgsubstate
>>> file('.hgsubstate', 'wb').write('\n\n \t \n \n')
$ hg st --subrepos
M .hgsubstate
$ hg revert -qC .hgsubstate
Patrick Mezard
subrepo: do not traceback on .hgsubstate parsing errors...
r16596 abort more gracefully on .hgsubstate parsing error
$ cp .hgsubstate .hgsubstate.old
>>> file('.hgsubstate', 'wb').write('\ninvalid')
$ hg st --subrepos
abort: invalid subrepository revision specifier in .hgsubstate line 2
[255]
$ mv .hgsubstate.old .hgsubstate
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 delete .hgsub and revert it
$ rm .hgsub
$ hg revert .hgsub
warning: subrepo spec file .hgsub not found
Matt Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 warning: subrepo spec file .hgsub not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017
delete .hgsubstate and revert it
$ rm .hgsubstate
$ hg revert .hgsubstate
delete .hgsub and update
$ rm .hgsub
$ hg up 0
warning: subrepo spec file .hgsub not found
Matt Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 warning: subrepo spec file .hgsub not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg st
Matt Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 warning: subrepo spec file .hgsub not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 ! .hgsub
$ ls subrepo
a
delete .hgsubstate and update
$ hg up -C
warning: subrepo spec file .hgsub not found
Matt Mackall
subrepo: use working copy of .hgsub to filter status (issue2901)
r14870 warning: subrepo spec file .hgsub not found
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ rm .hgsubstate
Mads Kiilerich
check-code: fix check for trailing whitespace on sh command lines...
r17345 $ hg up 0
Patrick Mezard
subrepo: handle missing subrepo spec file as removed...
r13017 remote changed .hgsubstate which local deleted
use (c)hanged version or leave (d)eleted? c
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg st
$ ls subrepo
a
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 Enable obsolete
$ cat >> $HGRCPATH << EOF
> [ui]
> logtemplate= {rev}:{node|short} {desc|firstline}
> [phases]
> publish=False
Durham Goode
obsolete: update tests to use obsolete options...
r22955 > [experimental]
> evolution=createmarkers
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 > EOF
check that we can update parent repo with missing (amended) subrepo revision
$ hg up --repository subrepo -r tip
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg ci -m "updated subrepo to tip"
created new head
$ cd subrepo
$ hg update -r tip
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo foo > a
$ hg commit --amend -m "addb (amended)"
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..
Angel Ezquerra
subrepo: make it possible to update to hidden subrepo revisions...
r20319 $ hg update --clean .
revision 102a90ea7b4a in subrepo subrepo is hidden
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ..