diff --git a/hgext/treedirstate.py b/hgext/treedirstate.py index 71bcf515ae..13aabb70e8 100644 --- a/hgext/treedirstate.py +++ b/hgext/treedirstate.py @@ -69,7 +69,7 @@ treefileprefix = 'dirstate.tree.' configtable = {} configitem = registrar.configitem(configtable) -configitem('treedirstate', 'useinnewrepos', default=False) +configitem('treedirstate', 'useinnewrepos', default=True) configitem('treedirstate', 'upgradeonpull', default=False) configitem('treedirstate', 'downgradeonpull', default=False) configitem('treedirstate', 'cleanuppercent', default=1) diff --git a/tests/fakedirstatewritetime.py b/tests/fakedirstatewritetime.py index 33e0fc9cf0..daa2f8d339 100644 --- a/tests/fakedirstatewritetime.py +++ b/tests/fakedirstatewritetime.py @@ -15,6 +15,9 @@ from mercurial import ( registrar, util, ) +from hgext import ( + treedirstate, +) configtable = {} configitem = registrar.configitem(configtable) @@ -71,8 +74,17 @@ def markcommitted(orig, committablectx, node): ui = committablectx.repo().ui return fakewrite(ui, lambda : orig(committablectx, node)) +def treedirstatewrite(orig, self, st, now): + ui = self._ui + fakenow = ui.config('fakedirstatewritetime', 'fakenow') + if fakenow: + now = util.parsedate(fakenow, ['%Y%m%d%H%M'])[0] + return orig(self, st, now) + def extsetup(ui): extensions.wrapfunction(context.workingctx, '_poststatusfixup', _poststatusfixup) extensions.wrapfunction(context.committablectx, 'markcommitted', markcommitted) + extensions.wrapfunction(treedirstate.treedirstatemap, 'write', + treedirstatewrite) diff --git a/tests/test-contrib-perf.t b/tests/test-contrib-perf.t index bdb4962572..2c0157f945 100644 --- a/tests/test-contrib-perf.t +++ b/tests/test-contrib-perf.t @@ -8,6 +8,7 @@ Set vars: Prepare repo: $ hg init + $ hg debugtreedirstate off $ echo this is file a > a $ hg add a diff --git a/tests/test-dirstate-backup.t b/tests/test-dirstate-backup.t index a62fc8da06..8a5f8e54c0 100644 --- a/tests/test-dirstate-backup.t +++ b/tests/test-dirstate-backup.t @@ -15,4 +15,5 @@ No dirstate backups are left behind $ ls .hg/dirstate* | sort .hg/dirstate + .hg/dirstate.tree.* (glob) diff --git a/tests/test-fb-hgext-remotefilelog-clone-tree.t b/tests/test-fb-hgext-remotefilelog-clone-tree.t index 1dea71ca81..426ff568df 100644 --- a/tests/test-fb-hgext-remotefilelog-clone-tree.t +++ b/tests/test-fb-hgext-remotefilelog-clone-tree.t @@ -31,6 +31,7 @@ remotefilelog revlogv1 store + treedirstate treemanifest $ find .hg/store/meta | sort .hg/store/meta @@ -71,6 +72,7 @@ remotefilelog revlogv1 store + treedirstate treemanifest $ ls .hg/store/data ca31988f085bfb945cb8115b78fabdee40f741aa @@ -112,4 +114,5 @@ remotefilelog revlogv1 store + treedirstate treemanifest diff --git a/tests/test-fb-hgext-remotefilelog-clone.t b/tests/test-fb-hgext-remotefilelog-clone.t index a172e68f31..42eba033fb 100644 --- a/tests/test-fb-hgext-remotefilelog-clone.t +++ b/tests/test-fb-hgext-remotefilelog-clone.t @@ -28,6 +28,7 @@ remotefilelog revlogv1 store + treedirstate $ hg update 1 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -61,6 +62,7 @@ remotefilelog revlogv1 store + treedirstate $ ls .hg/store/data 4a0a19218e082a343a1b17e5333409af9d98f0f5 @@ -109,3 +111,4 @@ check its contents separately. remotefilelog revlogv1 store + treedirstate diff --git a/tests/test-fb-hgext-remotefilelog-log.t b/tests/test-fb-hgext-remotefilelog-log.t index 0489d2543a..127e092b87 100644 --- a/tests/test-fb-hgext-remotefilelog-log.t +++ b/tests/test-fb-hgext-remotefilelog-log.t @@ -31,6 +31,7 @@ Shallow clone from full remotefilelog revlogv1 store + treedirstate $ hg update 2 files updated, 0 files merged, 0 files removed, 0 files unresolved diff --git a/tests/test-fncache.t b/tests/test-fncache.t index aad8a0cc7c..35011276d6 100644 --- a/tests/test-fncache.t +++ b/tests/test-fncache.t @@ -93,6 +93,7 @@ Non store repo: .hg/data/tst.d.hg/foo.i .hg/dirstate .hg/fsmonitor.state (fsmonitor !) + .hg/dirstate.tree.* (glob) .hg/last-message.txt .hg/phaseroots .hg/requires @@ -123,6 +124,7 @@ Non fncache repo: .hg/cache/rbc-revs-v1 .hg/dirstate .hg/fsmonitor.state (fsmonitor !) + .hg/dirstate.tree.* (glob) .hg/last-message.txt .hg/requires .hg/store diff --git a/tests/test-hardlinks.t b/tests/test-hardlinks.t index 8399d255a3..b5e4777a40 100644 --- a/tests/test-hardlinks.t +++ b/tests/test-hardlinks.t @@ -246,6 +246,7 @@ r4 has hardlinks in the working dir (not just inside .hg): 2 r4/.hg/cache/rbc-revs-v1 2 r4/.hg/dirstate 2 r4/.hg/fsmonitor.state (fsmonitor !) + 2 r4/.hg/dirstate.tree.* (glob) 2 r4/.hg/hgrc 2 r4/.hg/last-message.txt 2 r4/.hg/requires @@ -296,6 +297,7 @@ Update back to revision 12 in r4 should break hardlink of file f1 and f3: 2 r4/.hg/cache/rbc-revs-v1 1 r4/.hg/dirstate 1 r4/.hg/fsmonitor.state (fsmonitor !) + 2 r4/.hg/dirstate.tree.* (glob) 2 r4/.hg/hgrc 2 r4/.hg/last-message.txt 2 r4/.hg/requires diff --git a/tests/test-hgext-repogenerator.t b/tests/test-hgext-repogenerator.t index 60a1d4147e..938c3d538f 100644 --- a/tests/test-hgext-repogenerator.t +++ b/tests/test-hgext-repogenerator.t @@ -6,18 +6,18 @@ starting commit is: -1 (goal is 2) created *, * sec elapsed (* commits/sec, * per hour, * per day) (glob) $ hg log -G -r ::tip - o changeset: 2:26c418a67612 + o changeset: 2:2f0eabc6bc3d | tag: tip | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: memory commit | - o changeset: 1:331925392347 + o changeset: 1:272777df88de | user: test | date: Thu Jan 01 00:00:00 1970 +0000 | summary: memory commit | - o changeset: 0:af3f7799efa3 + o changeset: 0:8023a25712fb user: test date: Thu Jan 01 00:00:00 1970 +0000 summary: memory commit @@ -25,18 +25,18 @@ $ hg up -C tip 13 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg log -r tip -T'{files}' - d/d/c f/n/p i/t/b n/y/p u/d/a y/n/h (no-eol) + f/t/o h/w/l j/h/p j/o/e x/l/j x/z/b (no-eol) $ ls */*/* - d/d/c - f/n/p - i/t/b - j/i/e - j/q/a - k/s/d - n/y/p - t/a/e - u/d/a - u/r/g - x/m/c - x/n/c - y/n/h + f/t/o + h/u/h + h/w/l + j/h/p + j/o/e + l/c/h + r/f/c + u/y/a + v/c/c + w/k/a + x/l/j + x/z/b + y/d/e diff --git a/tests/test-inherit-mode.t b/tests/test-inherit-mode.t index b66a3714cc..7435be258e 100644 --- a/tests/test-inherit-mode.t +++ b/tests/test-inherit-mode.t @@ -73,6 +73,7 @@ new directories are setgid 00660 ./.hg/cache/rbc-revs-v1 00660 ./.hg/dirstate 00660 ./.hg/fsmonitor.state (fsmonitor !) + 00600 ./.hg/dirstate.tree.* (glob) 00660 ./.hg/last-message.txt 00600 ./.hg/requires 00770 ./.hg/store/ @@ -120,6 +121,7 @@ group can still write everything 00770 ../push/.hg/cache/ 00660 ../push/.hg/cache/branch2-base 00660 ../push/.hg/dirstate + 00600 ../push/.hg/dirstate.tree.* (glob) 00660 ../push/.hg/requires 00770 ../push/.hg/store/ 00660 ../push/.hg/store/00changelog.i diff --git a/tests/test-init.t b/tests/test-init.t index d8a7b67ffc..25665a6080 100644 --- a/tests/test-init.t +++ b/tests/test-init.t @@ -30,6 +30,7 @@ creating 'local' generaldelta revlogv1 store + treedirstate $ echo this > local/foo $ hg ci --cwd local -A -m "init" adding foo @@ -65,6 +66,7 @@ creating repo with format.usestore=false $ checknewrepo old generaldelta revlogv1 + treedirstate creating repo with format.usefncache=false @@ -75,6 +77,7 @@ creating repo with format.usefncache=false generaldelta revlogv1 store + treedirstate creating repo with format.dotencode=false @@ -86,6 +89,7 @@ creating repo with format.dotencode=false generaldelta revlogv1 store + treedirstate creating repo with format.dotencode=false @@ -97,6 +101,7 @@ creating repo with format.dotencode=false fncache revlogv1 store + treedirstate test failure @@ -210,6 +215,7 @@ creating 'local/sub/repo' generaldelta revlogv1 store + treedirstate prepare test of init of url configured from paths @@ -228,6 +234,7 @@ init should (for consistency with clone) expand the url generaldelta revlogv1 store + treedirstate verify that clone also expand urls @@ -242,6 +249,7 @@ verify that clone also expand urls generaldelta revlogv1 store + treedirstate clone bookmarks diff --git a/tests/test-lz4revlog.t b/tests/test-lz4revlog.t index 1824372ace..8f596667cf 100644 --- a/tests/test-lz4revlog.t +++ b/tests/test-lz4revlog.t @@ -29,6 +29,7 @@ regular clone of an existing zlib repo should still use zlib generaldelta revlogv1 store + treedirstate pulled clone of zlib should use lz4 @@ -40,6 +41,7 @@ pulled clone of zlib should use lz4 lz4revlog revlogv1 store + treedirstate disable lz4, then clone @@ -58,6 +60,7 @@ disable lz4, then clone generaldelta revlogv1 store + treedirstate attempt to disable lz4 should be ignored for hardlinked clone @@ -71,6 +74,7 @@ attempt to disable lz4 should be ignored for hardlinked clone lz4revlog revlogv1 store + treedirstate a new repo should use lz4 by default @@ -98,6 +102,7 @@ a new repo should use lz4 by default lz4revlog revlogv1 store + treedirstate vanilla hg should bail in an lz4 repo diff --git a/tests/test-repo-compengines.t b/tests/test-repo-compengines.t index 043e09626a..7e2abcf277 100644 --- a/tests/test-repo-compengines.t +++ b/tests/test-repo-compengines.t @@ -8,6 +8,7 @@ A new repository uses zlib storage, which doesn't need a requirement generaldelta revlogv1 store + treedirstate $ 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 compression engine results in bail generaldelta revlogv1 store + treedirstate $ 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 + treedirstate $ hg debugrevlog -c | grep 0x78 0x78 (x) : 2 (100.00%) diff --git a/tests/test-revlog-v2.t b/tests/test-revlog-v2.t index e3834d849c..d9d3c25421 100644 --- a/tests/test-revlog-v2.t +++ b/tests/test-revlog-v2.t @@ -23,6 +23,7 @@ Can create and open repo with revlog v2 requirement exp-revlogv2.0 fncache store + treedirstate $ hg log diff --git a/tests/test-static-http.t b/tests/test-static-http.t index b57b0178c4..3ddb051424 100644 --- a/tests/test-static-http.t +++ b/tests/test-static-http.t @@ -1,5 +1,6 @@ #require killdaemons + $ setconfig treedirstate.useinnewrepos=0 $ hg clone http://localhost:$HGPORT/ copy abort: * (glob) [255] diff --git a/tests/test-subrepo.t b/tests/test-subrepo.t index 33ebdcf2bb..fc18a58ff8 100644 --- a/tests/test-subrepo.t +++ b/tests/test-subrepo.t @@ -3,6 +3,10 @@ Let commit recurse into subrepos by default to match pre-2.0 behavior: $ echo "[ui]" >> $HGRCPATH $ echo "commitsubrepos = Yes" >> $HGRCPATH +Treedirstate has issues with subrepos + + $ setconfig treedirstate.useinnewrepos=0 + $ hg init t $ cd t diff --git a/tests/test-upgrade-repo.t b/tests/test-upgrade-repo.t index b1d0f97503..9b79a48482 100644 --- a/tests/test-upgrade-repo.t +++ b/tests/test-upgrade-repo.t @@ -1,6 +1,8 @@ $ cat >> $HGRCPATH << EOF > [extensions] > share = + > [treedirstate] + > useinnewrepos = False > EOF store and revlogv1 are required in source