# HG changeset patch # User Gregory Szorc # Date 2018-04-04 21:09:02 # Node ID c2c8962a9465aaad003b6bcc2161fb38d9eab6f5 # Parent 2d965bfeb8f6326eed0b86e5070366a67f074387 simplestore: use a custom store for the simple store repo Before, we used the default store, which was based on fncache and dotencode. After attempting to port tests to work with the simple store, I realized that fncache was more trouble than it is worth. This commit implements a proper store type for the simple repo - one that isn't based off fncache. This causes a number of new test failures because of tests expecting the full fncache store filename encoding. I may extend the store format in a subsequent commit to take the filename encoding parts of fncache that we can take (basically everything except hash encoding, since that isn't reversible). But for now, let's use encoded store. As part of this, we implement proper requirements support for repos created with the simple store. This should have been done from the beginning, as a requirement is needed to lock out clients that don't understand a storage format. A new hghave feature advertising the presence of fncache in repos has been added. Most tests touching the fncache are now conditional on that feature. Other tests have added the optional repo requirement to output. Differential Revision: https://phab.mercurial-scm.org/D3095 diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -733,11 +733,12 @@ def getrepofeatures(): features = { 'bundlerepo', 'revlogstore', + 'fncache', } # Features that imply other features. implies = { - 'simplestore': ['-revlogstore', '-bundlerepo'], + 'simplestore': ['-revlogstore', '-bundlerepo', '-fncache'], } for override in os.environ.get('HGREPOFEATURES', '').split(' '): @@ -770,3 +771,7 @@ def has_reposimplestore(): @check('repobundlerepo', 'whether we can open bundle files as repos') def has_repobundlerepo(): return 'bundlerepo' in getrepofeatures() + +@check('repofncache', 'repository has an fncache') +def has_repofncache(): + return 'fncache' in getrepofeatures() diff --git a/tests/simplestorerepo.py b/tests/simplestorerepo.py --- a/tests/simplestorerepo.py +++ b/tests/simplestorerepo.py @@ -12,6 +12,8 @@ from __future__ import absolute_import +import stat + from mercurial.i18n import _ from mercurial.node import ( bin, @@ -26,10 +28,13 @@ from mercurial import ( ancestor, bundlerepo, error, + extensions, filelog, + localrepo, mdiff, pycompat, revlog, + store, ) # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for @@ -38,6 +43,8 @@ from mercurial import ( # leave the attribute unspecified. testedwith = 'ships-with-hg-core' +REQUIREMENT = 'testonly-simplestore' + def validatenode(node): if isinstance(node, int): raise ValueError('expected node; got int') @@ -581,6 +588,36 @@ class filestorage(object): self._indexdata[rev:] = [] self._reflectindexupdate() +def issimplestorefile(f, kind, st): + if kind != stat.S_IFREG: + return False + + if store.isrevlog(f, kind, st): + return False + + # Ignore transaction undo files. + if f.startswith('undo.'): + return False + + # Otherwise assume it belongs to the simple store. + return True + +class simplestore(store.encodedstore): + def datafiles(self): + for x in super(simplestore, self).datafiles(): + yield x + + # Supplement with non-revlog files. + extrafiles = self._walk('data', True, filefilter=issimplestorefile) + + for unencoded, encoded, size in extrafiles: + try: + unencoded = store.decodefilename(unencoded) + except KeyError: + unencoded = None + + yield unencoded, encoded, size + def reposetup(ui, repo): if not repo.local(): return @@ -593,3 +630,35 @@ def reposetup(ui, repo): return filestorage(self.svfs, f) repo.__class__ = simplestorerepo + +def featuresetup(ui, supported): + supported.add(REQUIREMENT) + +def newreporequirements(orig, repo): + """Modifies default requirements for new repos to use the simple store.""" + requirements = orig(repo) + + # These requirements are only used to affect creation of the store + # object. We have our own store. So we can remove them. + # TODO do this once we feel like taking the test hit. + #if 'fncache' in requirements: + # requirements.remove('fncache') + #if 'dotencode' in requirements: + # requirements.remove('dotencode') + + requirements.add(REQUIREMENT) + + return requirements + +def makestore(orig, requirements, path, vfstype): + if REQUIREMENT not in requirements: + return orig(requirements, path, vfstype) + + return simplestore(path, vfstype) + +def extsetup(ui): + localrepo.featuresetupfuncs.add(featuresetup) + + extensions.wrapfunction(localrepo, 'newreporequirements', + newreporequirements) + extensions.wrapfunction(store, 'store', makestore) diff --git a/tests/test-clone.t b/tests/test-clone.t --- a/tests/test-clone.t +++ b/tests/test-clone.t @@ -104,8 +104,7 @@ No update, with debug option: linking: 15 (reposimplestore !) linking: 16 (reposimplestore !) linking: 17 (reposimplestore !) - linking: 18 (reposimplestore !) - linked 18 files (reposimplestore !) + linked 17 files (reposimplestore !) #else $ hg --debug clone -U . ../c --config progress.debug=true linking: 1 @@ -126,8 +125,7 @@ No update, with debug option: copying: 15 (reposimplestore !) copying: 16 (reposimplestore !) copying: 17 (reposimplestore !) - copying: 18 (reposimplestore !) - copied 18 files (reposimplestore !) + copied 17 files (reposimplestore !) #endif $ cd ../c diff --git a/tests/test-convert.t b/tests/test-convert.t --- a/tests/test-convert.t +++ b/tests/test-convert.t @@ -515,15 +515,11 @@ testing: convert must not produce duplic contents of fncache file: +#if repofncache $ cat b/.hg/store/fncache | sort data/a.i (reporevlogstore !) data/b.i (reporevlogstore !) - data/a/0f3078c2d7345d887b54f7c9dab0d91bfa57fd07 (reposimplestore !) - data/a/4271c3e84237016935a176b6f282fde2128458b0 (reposimplestore !) - data/a/b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 (reposimplestore !) - data/a/index (reposimplestore !) - data/b/37d9b5d994eab34eda9c16b195ace52c7b129980 (reposimplestore !) - data/b/index (reposimplestore !) +#endif test bogus URL diff --git a/tests/test-fncache.t b/tests/test-fncache.t --- a/tests/test-fncache.t +++ b/tests/test-fncache.t @@ -1,3 +1,5 @@ +#require repofncache + Init repo1: $ hg init repo1 diff --git a/tests/test-hardlinks.t b/tests/test-hardlinks.t --- a/tests/test-hardlinks.t +++ b/tests/test-hardlinks.t @@ -49,10 +49,10 @@ Prepare repo r1: 1 r1/.hg/store/00manifest.i 1 r1/.hg/store/data/d1/f2.i 1 r1/.hg/store/data/f1.i - 1 r1/.hg/store/fncache + 1 r1/.hg/store/fncache (repofncache !) 1 r1/.hg/store/phaseroots 1 r1/.hg/store/undo - 1 r1/.hg/store/undo.backup.fncache + 1 r1/.hg/store/undo.backup.fncache (repofncache !) 1 r1/.hg/store/undo.backupfiles 1 r1/.hg/store/undo.phaseroots @@ -89,10 +89,10 @@ Repos r1 and r2 should now contain hardl 2 r1/.hg/store/00manifest.i 2 r1/.hg/store/data/d1/f2.i 2 r1/.hg/store/data/f1.i - 2 r1/.hg/store/fncache + 2 r1/.hg/store/fncache (repofncache !) 1 r1/.hg/store/phaseroots 1 r1/.hg/store/undo - 1 r1/.hg/store/undo.backup.fncache + 1 r1/.hg/store/undo.backup.fncache (repofncache !) 1 r1/.hg/store/undo.backupfiles 1 r1/.hg/store/undo.phaseroots @@ -101,7 +101,7 @@ Repos r1 and r2 should now contain hardl 2 r2/.hg/store/00manifest.i 2 r2/.hg/store/data/d1/f2.i 2 r2/.hg/store/data/f1.i - 2 r2/.hg/store/fncache + 2 r2/.hg/store/fncache (repofncache !) Repo r3 should not be hardlinked: @@ -110,7 +110,7 @@ Repo r3 should not be hardlinked: 1 r3/.hg/store/00manifest.i 1 r3/.hg/store/data/d1/f2.i 1 r3/.hg/store/data/f1.i - 1 r3/.hg/store/fncache + 1 r3/.hg/store/fncache (repofncache !) 1 r3/.hg/store/phaseroots 1 r3/.hg/store/undo 1 r3/.hg/store/undo.backupfiles @@ -136,10 +136,10 @@ Create a non-inlined filelog in r3: 1 r3/.hg/store/data/d1/f2.d 1 r3/.hg/store/data/d1/f2.i 1 r3/.hg/store/data/f1.i - 1 r3/.hg/store/fncache + 1 r3/.hg/store/fncache (repofncache !) 1 r3/.hg/store/phaseroots 1 r3/.hg/store/undo - 1 r3/.hg/store/undo.backup.fncache + 1 r3/.hg/store/undo.backup.fncache (repofncache !) 1 r3/.hg/store/undo.backup.phaseroots 1 r3/.hg/store/undo.backupfiles 1 r3/.hg/store/undo.phaseroots @@ -169,9 +169,9 @@ Push to repo r1 should break up most har 1 r2/.hg/store/00manifest.i 1 r2/.hg/store/data/d1/f2.i 2 r2/.hg/store/data/f1.i - [12] r2/\.hg/store/fncache (re) + [12] r2/\.hg/store/fncache (re) (repofncache !) -#if hardlink-whitelisted +#if hardlink-whitelisted repofncache $ nlinksdir r2/.hg/store/fncache 2 r2/.hg/store/fncache #endif @@ -199,9 +199,9 @@ Committing a change to f1 in r1 must bre 1 r2/.hg/store/00manifest.i 1 r2/.hg/store/data/d1/f2.i 1 r2/.hg/store/data/f1.i - [12] r2/\.hg/store/fncache (re) + [12] r2/\.hg/store/fncache (re) (repofncache !) -#if hardlink-whitelisted +#if hardlink-whitelisted repofncache $ nlinksdir r2/.hg/store/fncache 2 r2/.hg/store/fncache #endif @@ -254,10 +254,10 @@ r4 has hardlinks in the working dir (not 2 r4/.hg/store/data/d1/f2.i 2 r4/.hg/store/data/f1.i 2 r4/.hg/store/data/f3.i - 2 r4/.hg/store/fncache + 2 r4/.hg/store/fncache (repofncache !) 2 r4/.hg/store/phaseroots 2 r4/.hg/store/undo - 2 r4/.hg/store/undo.backup.fncache + 2 r4/.hg/store/undo.backup.fncache (repofncache !) 2 r4/.hg/store/undo.backup.phaseroots 2 r4/.hg/store/undo.backupfiles 2 r4/.hg/store/undo.phaseroots @@ -307,7 +307,7 @@ Update back to revision 12 in r4 should 2 r4/.hg/store/fncache 2 r4/.hg/store/phaseroots 2 r4/.hg/store/undo - 2 r4/.hg/store/undo.backup.fncache + 2 r4/.hg/store/undo.backup.fncache (repofncache !) 2 r4/.hg/store/undo.backup.phaseroots 2 r4/.hg/store/undo.backupfiles 2 r4/.hg/store/undo.phaseroots diff --git a/tests/test-hook.t b/tests/test-hook.t --- a/tests/test-hook.t +++ b/tests/test-hook.t @@ -190,11 +190,11 @@ more there after 00changelog.i 00manifest.i data - fncache + fncache (repofncache !) journal.phaseroots phaseroots undo - undo.backup.fncache + undo.backup.fncache (repofncache !) undo.backupfiles undo.phaseroots diff --git a/tests/test-inherit-mode.t b/tests/test-inherit-mode.t --- a/tests/test-inherit-mode.t +++ b/tests/test-inherit-mode.t @@ -82,7 +82,7 @@ new directories are setgid 00770 ./.hg/store/data/dir/ 00660 ./.hg/store/data/dir/bar.i 00660 ./.hg/store/data/foo.i - 00660 ./.hg/store/fncache + 00660 ./.hg/store/fncache (repofncache !) 00660 ./.hg/store/phaseroots 00660 ./.hg/store/undo 00660 ./.hg/store/undo.backupfiles @@ -128,7 +128,7 @@ group can still write everything 00770 ../push/.hg/store/data/dir/ 00660 ../push/.hg/store/data/dir/bar.i 00660 ../push/.hg/store/data/foo.i - 00660 ../push/.hg/store/fncache + 00660 ../push/.hg/store/fncache (repofncache !) 00660 ../push/.hg/store/undo 00660 ../push/.hg/store/undo.backupfiles 00660 ../push/.hg/store/undo.phaseroots diff --git a/tests/test-init.t b/tests/test-init.t --- a/tests/test-init.t +++ b/tests/test-init.t @@ -23,6 +23,7 @@ creating 'local' generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) $ echo this > local/foo $ hg ci --cwd local -A -m "init" adding foo @@ -58,6 +59,7 @@ creating repo with format.usestore=false $ checknewrepo old generaldelta revlogv1 + testonly-simplestore (reposimplestore !) creating repo with format.usefncache=false @@ -68,6 +70,7 @@ creating repo with format.usefncache=fal generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) creating repo with format.dotencode=false @@ -79,6 +82,7 @@ creating repo with format.dotencode=fals generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) creating repo with format.dotencode=false @@ -90,6 +94,7 @@ creating repo with format.dotencode=fals fncache revlogv1 store + testonly-simplestore (reposimplestore !) test failure @@ -206,6 +211,7 @@ creating 'local/sub/repo' generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) prepare test of init of url configured from paths @@ -224,6 +230,7 @@ init should (for consistency with clone) generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) verify that clone also expand urls @@ -238,6 +245,7 @@ verify that clone also expand urls generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) clone bookmarks diff --git a/tests/test-narrow-clone-no-ellipsis.t b/tests/test-narrow-clone-no-ellipsis.t --- a/tests/test-narrow-clone-no-ellipsis.t +++ b/tests/test-narrow-clone-no-ellipsis.t @@ -28,6 +28,7 @@ narrow clone a file, f10 narrowhg-experimental revlogv1 store + testonly-simplestore (reposimplestore !) $ cat .hg/narrowspec [includes] diff --git a/tests/test-narrow-clone.t b/tests/test-narrow-clone.t --- a/tests/test-narrow-clone.t +++ b/tests/test-narrow-clone.t @@ -32,6 +32,7 @@ narrow clone a file, f10 narrowhg-experimental revlogv1 store + testonly-simplestore (reposimplestore !) $ cat .hg/narrowspec [includes] diff --git a/tests/test-narrow.t b/tests/test-narrow.t --- a/tests/test-narrow.t +++ b/tests/test-narrow.t @@ -128,10 +128,10 @@ Force deletion of local changes * (glob) saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob) deleting data/d0/f.i (reporevlogstore !) + deleting meta/d0/00manifest.i (tree !) deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !) deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !) deleting data/d0/f/index (reposimplestore !) - deleting meta/d0/00manifest.i (tree !) $ hg log -T "{node|short}: {desc} {outsidenarrow}\n" *: local change to d3 (glob) @@ -159,10 +159,10 @@ Pruned commits affecting removed paths s looking for local changes to affected paths saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob) deleting data/d0/f.i (reporevlogstore !) + deleting meta/d0/00manifest.i (tree !) deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !) deleting data/d0/f/4374b5650fc5ae54ac857c0f0381971fdde376f7 (reposimplestore !) deleting data/d0/f/index (reposimplestore !) - deleting meta/d0/00manifest.i (tree !) Updates off of stripped commit if necessary $ hg co -r 'desc("local change to d3")' -q @@ -178,10 +178,10 @@ Updates off of stripped commit if necess 2 files updated, 0 files merged, 0 files removed, 0 files unresolved saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob) deleting data/d3/f.i (reporevlogstore !) + deleting meta/d3/00manifest.i (tree !) deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !) deleting data/d3/f/99fa7136105a15e2045ce3d9152e4837c5349e4d (reposimplestore !) deleting data/d3/f/index (reposimplestore !) - deleting meta/d3/00manifest.i (tree !) $ hg log -T '{desc}\n' -r . add d10/f Updates to nullid if necessary @@ -201,10 +201,10 @@ Updates to nullid if necessary 0 files updated, 0 files merged, 1 files removed, 0 files unresolved saved backup bundle to $TESTTMP/narrow-local-changes/.hg/strip-backup/*-narrow.hg (glob) deleting data/d3/f.i (reporevlogstore !) + deleting meta/d3/00manifest.i (tree !) deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !) deleting data/d3/f/5ce0767945cbdbca3b924bb9fbf5143f72ab40ac (reposimplestore !) deleting data/d3/f/index (reposimplestore !) - deleting meta/d3/00manifest.i (tree !) $ hg id 000000000000 $ cd .. @@ -224,9 +224,9 @@ Can remove last include, making repo emp searching for changes looking for local changes to affected paths deleting data/d0/f.i (reporevlogstore !) + deleting meta/d0/00manifest.i (tree !) deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !) deleting data/d0/f/index (reposimplestore !) - deleting meta/d0/00manifest.i (tree !) $ hg tracked $ hg files [1] @@ -282,15 +282,17 @@ https://bitbucket.org/Google/narrowhg/is searching for changes looking for local changes to affected paths deleting data/d6/f.i (reporevlogstore !) + deleting meta/d6/00manifest.i (tree !) deleting data/d6/f/7339d30678f451ac8c3f38753beeb4cf2e1655c7 (reposimplestore !) deleting data/d6/f/index (reposimplestore !) - deleting meta/d6/00manifest.i (tree !) $ hg tracked I path:d0 I path:d3 I path:d9 +#if repofncache $ hg debugrebuildfncache fncache already up to date +#endif $ find * d0 d0/f @@ -304,13 +306,17 @@ https://bitbucket.org/Google/narrowhg/is searching for changes looking for local changes to affected paths deleting data/d3/f.i (reporevlogstore !) + deleting data/d3/f/2661d26c649684b482d10f91960cc3db683c38b4 (reposimplestore !) + deleting data/d3/f/index (reposimplestore !) $ hg tracked I path:d0 I path:d3 I path:d9 X path:d3/f +#if repofncache $ hg debugrebuildfncache fncache already up to date +#endif $ find * d0 d0/f @@ -323,13 +329,17 @@ https://bitbucket.org/Google/narrowhg/is looking for local changes to affected paths deleting data/d0/f.i (reporevlogstore !) deleting meta/d0/00manifest.i (tree !) + deleting data/d0/f/362fef284ce2ca02aecc8de6d5e8a1c3af0556fe (reposimplestore !) + deleting data/d0/f/index (reposimplestore !) $ hg tracked I path:d3 I path:d9 X path:d0 X path:d3/f +#if repofncache $ hg debugrebuildfncache fncache already up to date +#endif $ find * d9 d9/f diff --git a/tests/test-repo-compengines.t b/tests/test-repo-compengines.t --- a/tests/test-repo-compengines.t +++ b/tests/test-repo-compengines.t @@ -8,6 +8,7 @@ A new repository uses zlib storage, whic generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) $ touch foo $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text to trigger compression' @@ -47,6 +48,7 @@ A requirement specifying an unknown comp generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) $ touch foo $ hg -q commit -A -m 'initial commit with a lot of repeated repeated repeated text' @@ -70,6 +72,7 @@ with that engine or a requirement generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) $ hg debugrevlog -c | grep 0x78 0x78 (x) : 2 (100.00%) diff --git a/tests/test-sparse-requirement.t b/tests/test-sparse-requirement.t --- a/tests/test-sparse-requirement.t +++ b/tests/test-sparse-requirement.t @@ -22,6 +22,7 @@ Enable sparse profile generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) $ hg debugsparse --config extensions.sparse= --enable-profile frontend.sparse $ ls @@ -37,6 +38,7 @@ Requirement for sparse added when sparse generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) Client without sparse enabled reacts properly @@ -54,6 +56,7 @@ Requirement for sparse is removed when s generaldelta revlogv1 store + testonly-simplestore (reposimplestore !) And client without sparse can access diff --git a/tests/test-strip.t b/tests/test-strip.t --- a/tests/test-strip.t +++ b/tests/test-strip.t @@ -445,15 +445,19 @@ verify fncache is kept up-to-date $ touch a $ hg ci -qAm a +#if repofncache $ cat .hg/store/fncache | sort data/a.i data/bar.i +#endif $ hg strip tip 0 files updated, 0 files merged, 1 files removed, 0 files unresolved saved backup bundle to $TESTTMP/test/.hg/strip-backup/*-backup.hg (glob) +#if repofncache $ cat .hg/store/fncache data/bar.i +#endif stripping an empty revset diff --git a/tests/test-subrepo-deep-nested-change.t b/tests/test-subrepo-deep-nested-change.t --- a/tests/test-subrepo-deep-nested-change.t +++ b/tests/test-subrepo-deep-nested-change.t @@ -34,7 +34,6 @@ Preparing the 'sub1' repo which depends linking [ <=> ] 4\r (no-eol) (esc) linking [ <=> ] 5\r (no-eol) (esc) linking [ <=> ] 6\r (no-eol) (esc) - linking [ <=> ] 7\r (no-eol) (esc) (reposimplestore !) \r (no-eol) (esc) \r (no-eol) (esc) updating [===========================================>] 1/1\r (no-eol) (esc) @@ -63,7 +62,6 @@ Preparing the 'main' repo which depends linking [ <=> ] 8\r (no-eol) (esc) linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !) - linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !) \r (no-eol) (esc) \r (no-eol) (esc) updating [===========================================>] 3/3\r (no-eol) (esc) @@ -75,7 +73,6 @@ Preparing the 'main' repo which depends linking [ <=> ] 4\r (no-eol) (esc) linking [ <=> ] 5\r (no-eol) (esc) linking [ <=> ] 6\r (no-eol) (esc) - linking [ <=> ] 7\r (no-eol) (esc) (reposimplestore !) updating [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) updating to branch default @@ -168,7 +165,6 @@ Clone main linking [ <=> ] 8\r (no-eol) (esc) linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !) - linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !) \r (no-eol) (esc) \r (no-eol) (esc) updating [===========================================>] 3/3\r (no-eol) (esc) @@ -184,7 +180,6 @@ Clone main linking [ <=> ] 8\r (no-eol) (esc) linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !) - linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !) updating [===========================================>] 3/3\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) @@ -200,7 +195,6 @@ Clone main linking [ <=> ] 4\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 5\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 6\r (no-eol) (esc) (reposimplestore !) - linking [ <=> ] 7\r (no-eol) (esc) (reposimplestore !) updating [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) updating to branch default diff --git a/tests/test-subrepo-recursion.t b/tests/test-subrepo-recursion.t --- a/tests/test-subrepo-recursion.t +++ b/tests/test-subrepo-recursion.t @@ -466,7 +466,6 @@ cloned: linking [ <=> ] 10\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 11\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 12\r (no-eol) (esc) (reposimplestore !) - linking [ <=> ] 13\r (no-eol) (esc) (reposimplestore !) \r (no-eol) (esc) #else $ hg clone -U . ../empty @@ -498,7 +497,6 @@ cloned: linking [ <=> ] 12\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 13\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 14\r (no-eol) (esc) (reposimplestore !) - linking [ <=> ] 15\r (no-eol) (esc) (reposimplestore !) \r (no-eol) (esc) \r (no-eol) (esc) archiving (foo) [ ] 0/3\r (no-eol) (esc) @@ -515,7 +513,6 @@ cloned: linking [ <=> ] 6\r (no-eol) (esc) linking [ <=> ] 7\r (no-eol) (esc) (reposimplestore !) linking [ <=> ] 8\r (no-eol) (esc) (reposimplestore !) - linking [ <=> ] 9\r (no-eol) (esc) (reposimplestore !) \r (no-eol) (esc) \r (no-eol) (esc) archiving (foo/bar) [ ] 0/1\r (no-eol) (esc) diff --git a/tests/test-treemanifest.t b/tests/test-treemanifest.t --- a/tests/test-treemanifest.t +++ b/tests/test-treemanifest.t @@ -557,6 +557,7 @@ Verify works checking files 8 files, 4 changesets, 18 total revisions +#if repofncache Dirlogs are included in fncache $ grep meta/.A/00manifest.i .hg/store/fncache meta/.A/00manifest.i @@ -581,6 +582,7 @@ Rebuilt fncache includes dirlogs adding meta/b/foo/apple/00manifest.i adding meta/b/foo/apple/bees/00manifest.i 16 items added, 0 removed from fncache +#endif Finish first server $ killdaemons.py