##// END OF EJS Templates
branching: merge stable into default
Raphaël Gomès -
r49530:e845537f merge default
parent child Browse files
Show More
@@ -221,3 +221,4 b' 6ee0244fc1cf889ae543d2ce0ec45201ae0be6e1'
221 a44bb185f6bdbecc754996d8386722e2f0123b0a 0 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
224 75676122c2bf7594ac732b7388db4c74c648b365 0 iQHNBAABCgA3FiEEH2b4zfZU6QXBHaBhoR4BzQ4F2VYFAmH6qwUZHGFscGhhcmVAcmFwaGFlbGdvbWVzLmRldgAKCRChHgHNDgXZVogkC/4hgjtCXykyst2XuC93IkWdRoXiFn2+C/r/eX25el//+Og5T0KZmttFGrmTCSCdb/ZkjPg1ZHYBUK9gyQCOXoimATIeql/USCcglpVBRMTaaqvpJyHA1antI0HIsNFGjDTIxHsJXgghMEv7qVR33ItpZ8gtWbJJLewOwi2UHtLcmif77SgpeADh/E/PuQT+0Wd5gA6jk9Fml7VBP/nU81j25ZyxB6p8oUv4gFSNDZtrnA97mQ35jYZZITl8e80Y9Z/8KJFcRk29kxIudOikwn6AD7ZW/H85a3lDOtTMhgBDNlMxvXx6eviKfsrIVtNCm6QDF+36VstTR+idWyhnkq8g20NXcgWt79/CTWT7ssFmzdsHhdhWfJF99I0R0FCG0DSV313UmleZawavG1btOh4qCjTAWF5gnvsHfEIV1SAnDeeD6T27c8yIW7au9QXlkZds0xmFWLqkl6TxKpl7oa/bGDArAvOA3zHAeMlwXQKhhthjR7fU9PQnWsFXCt43GVo=
@@ -234,3 +234,4 b' 6ee0244fc1cf889ae543d2ce0ec45201ae0be6e1'
234 a44bb185f6bdbecc754996d8386722e2f0123b0a 6.0rc0
234 a44bb185f6bdbecc754996d8386722e2f0123b0a 6.0rc0
235 5d08b289e2e526259d7d5ea32b70fe76d5b327d7 6.0
235 5d08b289e2e526259d7d5ea32b70fe76d5b327d7 6.0
236 799fdf4cca80cb9ae40537a90995e6bd163ebc0b 6.0.1
236 799fdf4cca80cb9ae40537a90995e6bd163ebc0b 6.0.1
237 75676122c2bf7594ac732b7388db4c74c648b365 6.0.2
@@ -273,6 +273,8 b' def unamend(ui, repo, **opts):'
273 curctx = repo[b'.']
273 curctx = repo[b'.']
274
274
275 rewriteutil.precheck(repo, [curctx.rev()], b'unamend')
275 rewriteutil.precheck(repo, [curctx.rev()], b'unamend')
276 if len(curctx.parents()) > 1:
277 raise error.InputError(_(b"cannot unamend merge changeset"))
276
278
277 # identify the commit to which to unamend
279 # identify the commit to which to unamend
278 markers = list(predecessormarkers(curctx))
280 markers = list(predecessormarkers(curctx))
@@ -149,6 +149,13 b' class BranchMapCache(object):'
149 def clear(self):
149 def clear(self):
150 self._per_filter.clear()
150 self._per_filter.clear()
151
151
152 def write_delayed(self, repo):
153 unfi = repo.unfiltered()
154 for filtername, cache in self._per_filter.items():
155 if cache._delayed:
156 repo = unfi.filtered(filtername)
157 cache.write(repo)
158
152
159
153 def _unknownnode(node):
160 def _unknownnode(node):
154 """raises ValueError when branchcache found a node which does not exists"""
161 """raises ValueError when branchcache found a node which does not exists"""
@@ -199,6 +206,7 b' class branchcache(object):'
199 has a given node or not. If it's not provided, we assume that every node
206 has a given node or not. If it's not provided, we assume that every node
200 we have exists in changelog"""
207 we have exists in changelog"""
201 self._repo = repo
208 self._repo = repo
209 self._delayed = False
202 if tipnode is None:
210 if tipnode is None:
203 self.tipnode = repo.nullid
211 self.tipnode = repo.nullid
204 else:
212 else:
@@ -403,6 +411,13 b' class branchcache(object):'
403 )
411 )
404
412
405 def write(self, repo):
413 def write(self, repo):
414 tr = repo.currenttransaction()
415 if not getattr(tr, 'finalized', True):
416 # Avoid premature writing.
417 #
418 # (The cache warming setup by localrepo will update the file later.)
419 self._delayed = True
420 return
406 try:
421 try:
407 f = repo.cachevfs(self._filename(repo), b"w", atomictemp=True)
422 f = repo.cachevfs(self._filename(repo), b"w", atomictemp=True)
408 cachekey = [hex(self.tipnode), b'%d' % self.tiprev]
423 cachekey = [hex(self.tipnode), b'%d' % self.tiprev]
@@ -427,6 +442,7 b' class branchcache(object):'
427 len(self._entries),
442 len(self._entries),
428 nodecount,
443 nodecount,
429 )
444 )
445 self._delayed = False
430 except (IOError, OSError, error.Abort) as inst:
446 except (IOError, OSError, error.Abort) as inst:
431 # Abort may be raised by read only opener, so log and continue
447 # Abort may be raised by read only opener, so log and continue
432 repo.ui.debug(
448 repo.ui.debug(
@@ -1277,9 +1277,10 b' coreconfigitem('
1277 # Enable this dirstate format *when creating a new repository*.
1277 # Enable this dirstate format *when creating a new repository*.
1278 # Which format to use for existing repos is controlled by .hg/requires
1278 # Which format to use for existing repos is controlled by .hg/requires
1279 b'format',
1279 b'format',
1280 b'exp-rc-dirstate-v2',
1280 b'use-dirstate-v2',
1281 default=False,
1281 default=False,
1282 experimental=True,
1282 experimental=True,
1283 alias=[(b'format', b'exp-rc-dirstate-v2')],
1283 )
1284 )
1284 coreconfigitem(
1285 coreconfigitem(
1285 b'format',
1286 b'format',
@@ -1851,7 +1852,7 b' coreconfigitem('
1851 default=b'skip',
1852 default=b'skip',
1852 experimental=True,
1853 experimental=True,
1853 )
1854 )
1854 # experimental as long as format.exp-rc-dirstate-v2 is.
1855 # experimental as long as format.use-dirstate-v2 is.
1855 coreconfigitem(
1856 coreconfigitem(
1856 b'storage',
1857 b'storage',
1857 b'dirstate-v2.slow-path',
1858 b'dirstate-v2.slow-path',
@@ -915,7 +915,7 b' https://www.mercurial-scm.org/wiki/Missi'
915
915
916 Enabled by default.
916 Enabled by default.
917
917
918 ``exp-rc-dirstate-v2``
918 ``use-dirstate-v2``
919 Enable or disable the experimental "dirstate-v2" feature. The dirstate
919 Enable or disable the experimental "dirstate-v2" feature. The dirstate
920 functionality is shared by all commands interacting with the working copy.
920 functionality is shared by all commands interacting with the working copy.
921 The new version is more robust, faster and stores more information.
921 The new version is more robust, faster and stores more information.
@@ -939,7 +939,7 b' https://www.mercurial-scm.org/wiki/Missi'
939
939
940 $ hg debugupgraderepo \
940 $ hg debugupgraderepo \
941 --run \
941 --run \
942 --config format.exp-rc-dirstate-v2=False \
942 --config format.use-dirstate-v2=False \
943 --config storage.dirstate-v2.slow-path=allow
943 --config storage.dirstate-v2.slow-path=allow
944
944
945 For a more comprehensive guide, see :hg:`help internals.dirstate-v2`.
945 For a more comprehensive guide, see :hg:`help internals.dirstate-v2`.
@@ -37,12 +37,12 b' Enabling `dirstate-v2` for new local rep'
37 ------------------------------------------------
37 ------------------------------------------------
38
38
39 When creating a new local repository such as with `hg init` or `hg clone`,
39 When creating a new local repository such as with `hg init` or `hg clone`,
40 the `exp-rc-dirstate-v2` boolean in the `format` configuration section
40 the `use-dirstate-v2` boolean in the `format` configuration section
41 controls whether to use this file format.
41 controls whether to use this file format.
42 This is disabled by default as of this writing.
42 This is disabled by default as of this writing.
43 To enable it for a single repository, run for example::
43 To enable it for a single repository, run for example::
44
44
45 $ hg init my-project --config format.exp-rc-dirstate-v2=1
45 $ hg init my-project --config format.use-dirstate-v2=1
46
46
47 Checking the format of an existing local repository
47 Checking the format of an existing local repository
48 --------------------------------------------------
48 --------------------------------------------------
@@ -63,15 +63,15 b' Upgrading or downgrading an existing loc'
63 The `debugupgrade` command does various upgrades or downgrades
63 The `debugupgrade` command does various upgrades or downgrades
64 on a local repository
64 on a local repository
65 based on the current Mercurial version and on configuration.
65 based on the current Mercurial version and on configuration.
66 The same `format.exp-rc-dirstate-v2` configuration is used again.
66 The same `format.use-dirstate-v2` configuration is used again.
67
67
68 Example to upgrade::
68 Example to upgrade::
69
69
70 $ hg debugupgrade --config format.exp-rc-dirstate-v2=1
70 $ hg debugupgrade --config format.use-dirstate-v2=1
71
71
72 Example to downgrade to `dirstate-v1`::
72 Example to downgrade to `dirstate-v1`::
73
73
74 $ hg debugupgrade --config format.exp-rc-dirstate-v2=0
74 $ hg debugupgrade --config format.use-dirstate-v2=0
75
75
76 Both of this commands do nothing but print a list of proposed changes,
76 Both of this commands do nothing but print a list of proposed changes,
77 which may include changes unrelated to the dirstate.
77 which may include changes unrelated to the dirstate.
@@ -15,10 +15,11 b' Features'
15 ========
15 ========
16
16
17 The following operations are sped up when using Rust:
17 The following operations are sped up when using Rust:
18
18 - discovery of differences between repositories (pull/push)
19 - discovery of differences between repositories (pull/push)
19 - nodemap (see :hg:`help config.format.use-persistent-nodemap`)
20 - nodemap (see :hg:`help config.format.use-persistent-nodemap`)
20 - all commands using the dirstate (status, commit, diff, add, update, etc.)
21 - all commands using the dirstate (status, commit, diff, add, update, etc.)
21 - dirstate-v2 (see :hg:`help config.format.exp-rc-dirstate-v2`)
22 - dirstate-v2 (see :hg:`help config.format.use-dirstate-v2`)
22 - iteration over ancestors in a graph
23 - iteration over ancestors in a graph
23
24
24 More features are in the works, and improvements on the above listed are still
25 More features are in the works, and improvements on the above listed are still
@@ -1190,7 +1190,7 b' def resolverevlogstorevfsoptions(ui, req'
1190 b"fast implementation."
1190 b"fast implementation."
1191 )
1191 )
1192 hint = _(
1192 hint = _(
1193 b"check `hg help config.format.exp-rc-dirstate-v2` " b"for details"
1193 b"check `hg help config.format.use-dirstate-v2` " b"for details"
1194 )
1194 )
1195 if not dirstate.HAS_FAST_DIRSTATE_V2:
1195 if not dirstate.HAS_FAST_DIRSTATE_V2:
1196 if slow_path == b'warn':
1196 if slow_path == b'warn':
@@ -2824,6 +2824,8 b' class localrepository(object):'
2824 self.ui.debug(b'updating the branch cache\n')
2824 self.ui.debug(b'updating the branch cache\n')
2825 self.filtered(b'served').branchmap()
2825 self.filtered(b'served').branchmap()
2826 self.filtered(b'served.hidden').branchmap()
2826 self.filtered(b'served.hidden').branchmap()
2827 # flush all possibly delayed write.
2828 self._branchcaches.write_delayed(self)
2827
2829
2828 if repository.CACHE_CHANGELOG_CACHE in caches:
2830 if repository.CACHE_CHANGELOG_CACHE in caches:
2829 self.changelog.update_caches(transaction=tr)
2831 self.changelog.update_caches(transaction=tr)
@@ -3618,9 +3620,9 b' def newreporequirements(ui, createopts):'
3618 if ui.configbool(b'format', b'sparse-revlog'):
3620 if ui.configbool(b'format', b'sparse-revlog'):
3619 requirements.add(requirementsmod.SPARSEREVLOG_REQUIREMENT)
3621 requirements.add(requirementsmod.SPARSEREVLOG_REQUIREMENT)
3620
3622
3621 # experimental config: format.exp-rc-dirstate-v2
3623 # experimental config: format.use-dirstate-v2
3622 # Keep this logic in sync with `has_dirstate_v2()` in `tests/hghave.py`
3624 # Keep this logic in sync with `has_dirstate_v2()` in `tests/hghave.py`
3623 if ui.configbool(b'format', b'exp-rc-dirstate-v2'):
3625 if ui.configbool(b'format', b'use-dirstate-v2'):
3624 requirements.add(requirementsmod.DIRSTATE_V2_REQUIREMENT)
3626 requirements.add(requirementsmod.DIRSTATE_V2_REQUIREMENT)
3625
3627
3626 # experimental config: format.exp-use-copies-side-data-changeset
3628 # experimental config: format.exp-use-copies-side-data-changeset
@@ -1971,7 +1971,7 b' class revlog(object):'
1971 raise error.RevlogError(
1971 raise error.RevlogError(
1972 _(b"%s not found in the transaction") % self._indexfile
1972 _(b"%s not found in the transaction") % self._indexfile
1973 )
1973 )
1974 trindex = 0
1974 trindex = None
1975 tr.add(self._datafile, 0)
1975 tr.add(self._datafile, 0)
1976
1976
1977 existing_handles = False
1977 existing_handles = False
@@ -1994,10 +1994,17 b' class revlog(object):'
1994 with self._indexfp() as read_ifh:
1994 with self._indexfp() as read_ifh:
1995 for r in self:
1995 for r in self:
1996 new_dfh.write(self._getsegmentforrevs(r, r, df=read_ifh)[1])
1996 new_dfh.write(self._getsegmentforrevs(r, r, df=read_ifh)[1])
1997 if troffset <= self.start(r) + r * self.index.entry_size:
1997 if (
1998 trindex is None
1999 and troffset
2000 <= self.start(r) + r * self.index.entry_size
2001 ):
1998 trindex = r
2002 trindex = r
1999 new_dfh.flush()
2003 new_dfh.flush()
2000
2004
2005 if trindex is None:
2006 trindex = 0
2007
2001 with self.__index_new_fp() as fp:
2008 with self.__index_new_fp() as fp:
2002 self._format_flags &= ~FLAG_INLINE_DATA
2009 self._format_flags &= ~FLAG_INLINE_DATA
2003 self._inline = False
2010 self._inline = False
@@ -229,6 +229,10 b' class transaction(util.transactional):'
229 if self._journal:
229 if self._journal:
230 self._abort()
230 self._abort()
231
231
232 @property
233 def finalized(self):
234 return self._finalizecallback is None
235
232 @active
236 @active
233 def startgroup(self):
237 def startgroup(self):
234 """delay registration of file entry
238 """delay registration of file entry
@@ -1,3 +1,25 b''
1 = Mercurial 6.0.2 =
2
3 * Fix `hg incoming` and `hg outgoing` with remote subrepos on Windows
4 * Fix Rust build on MacOS
5 * Fix a (15 year old?) bug where some data loss could happen in a very tight race window (f38ae2d7390e + ccd9cb73125c)
6 * Remove support for running `hg unamend` on merge changesets at it was never actually implemented
7 * Fix stream-clone requirements filtering which caused some stream-clones to be unusable from an older version of Mercurial
8 * Rename dirstate-v2 configuration name from `exp-rc-dirstate-v2` to `use-dirstate-v2`. This was overlooked in `6.0`, the old name will be kept as an alias for compatibility.
9 * Fix a bug where the branchmap could point to uncommitted data
10
11 = Mercurial 6.0.1 =
12
13 * Improve documentation around Rust (see hg help rust) and rust-related actions
14 * Improve upgrade/downgrade edge cases for dirstate-v2
15 * Make the test suite nicer to big-endian platforms
16 * Make the test suite nicer to NetBSD
17 * Fix a performance regression on fsmonitor (issue6612)
18 * Add fixes for Python 3.10
19 * Fix a deadlock when using sparse and share-safe together
20
21 = Mercurial 6.0 =
22
1 == New Features ==
23 == New Features ==
2 * `debugrebuildfncache` now has an option to rebuild only the index files
24 * `debugrebuildfncache` now has an option to rebuild only the index files
3 * a new `bookmarks.mode` path option have been introduced to control the
25 * a new `bookmarks.mode` path option have been introduced to control the
@@ -6,7 +6,7 b' Create a repository:'
6 devel.all-warnings=true
6 devel.all-warnings=true
7 devel.default-date=0 0
7 devel.default-date=0 0
8 extensions.fsmonitor= (fsmonitor !)
8 extensions.fsmonitor= (fsmonitor !)
9 format.exp-rc-dirstate-v2=1 (dirstate-v2 !)
9 format.use-dirstate-v2=1 (dirstate-v2 !)
10 largefiles.usercache=$TESTTMP/.cache/largefiles
10 largefiles.usercache=$TESTTMP/.cache/largefiles
11 lfs.usercache=$TESTTMP/.cache/lfs
11 lfs.usercache=$TESTTMP/.cache/lfs
12 ui.slash=True
12 ui.slash=True
@@ -1242,3 +1242,99 b' Intermediary parents are on different br'
1242 C 3:4a546028fa8f (inactive)
1242 C 3:4a546028fa8f (inactive)
1243 B 1:0bc7d348d965 (inactive)
1243 B 1:0bc7d348d965 (inactive)
1244 $ cd ..
1244 $ cd ..
1245
1246 Check that the cache are not written too early
1247 ----------------------------------------------
1248
1249 $ hg log -R branchmap-testing1 -G
1250 o changeset: 3:71ca9a6d524e
1251 |\ branch: A
1252 | | tag: tip
1253 | | parent: 2:a3b807b3ff0b
1254 | | parent: 1:99ba08759bc7
1255 | | user: debugbuilddag
1256 | | date: Thu Jan 01 00:00:03 1970 +0000
1257 | | summary: r3
1258 | |
1259 | o changeset: 2:a3b807b3ff0b
1260 | | branch: A
1261 | | parent: 0:2ab8003a1750
1262 | | user: debugbuilddag
1263 | | date: Thu Jan 01 00:00:02 1970 +0000
1264 | | summary: r2
1265 | |
1266 o | changeset: 1:99ba08759bc7
1267 |/ branch: A
1268 | tag: p1
1269 | user: debugbuilddag
1270 | date: Thu Jan 01 00:00:01 1970 +0000
1271 | summary: r1
1272 |
1273 o changeset: 0:2ab8003a1750
1274 branch: A
1275 tag: base
1276 user: debugbuilddag
1277 date: Thu Jan 01 00:00:00 1970 +0000
1278 summary: r0
1279
1280 $ hg bundle -R branchmap-testing1 --base 1 bundle.hg --rev 'head()'
1281 2 changesets found
1282
1283 Unbundling revision should warm the served cache
1284
1285 $ hg clone branchmap-testing1 --rev 1 branchmap-update-01
1286 adding changesets
1287 adding manifests
1288 adding file changes
1289 added 2 changesets with 0 changes to 0 files
1290 new changesets 2ab8003a1750:99ba08759bc7
1291 updating to branch A
1292 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1293 $ cat branchmap-update-01/.hg/cache/branch2-served
1294 99ba08759bc7f6fdbe5304e83d0387f35c082479 1
1295 99ba08759bc7f6fdbe5304e83d0387f35c082479 o A
1296 $ hg -R branchmap-update-01 unbundle bundle.hg
1297 adding changesets
1298 adding manifests
1299 adding file changes
1300 added 2 changesets with 0 changes to 0 files
1301 new changesets a3b807b3ff0b:71ca9a6d524e (2 drafts)
1302 (run 'hg update' to get a working copy)
1303 $ cat branchmap-update-01/.hg/cache/branch2-served
1304 71ca9a6d524ed3c2a215119b2086ac3b8c4c8286 3
1305 71ca9a6d524ed3c2a215119b2086ac3b8c4c8286 o A
1306
1307 aborted Unbundle should not update the on disk cache
1308
1309 $ cat >> simplehook.py << EOF
1310 > import sys
1311 > from mercurial import node
1312 > from mercurial import branchmap
1313 > def hook(ui, repo, *args, **kwargs):
1314 > s = repo.filtered(b"served")
1315 > s.branchmap()
1316 > return 1
1317 > EOF
1318 $ hg clone branchmap-testing1 --rev 1 branchmap-update-02
1319 adding changesets
1320 adding manifests
1321 adding file changes
1322 added 2 changesets with 0 changes to 0 files
1323 new changesets 2ab8003a1750:99ba08759bc7
1324 updating to branch A
1325 0 files updated, 0 files merged, 0 files removed, 0 files unresolved
1326
1327 $ cat branchmap-update-02/.hg/cache/branch2-served
1328 99ba08759bc7f6fdbe5304e83d0387f35c082479 1
1329 99ba08759bc7f6fdbe5304e83d0387f35c082479 o A
1330 $ hg -R branchmap-update-02 unbundle bundle.hg --config "hooks.pretxnclose=python:$TESTTMP/simplehook.py:hook"
1331 adding changesets
1332 adding manifests
1333 adding file changes
1334 transaction abort!
1335 rollback completed
1336 abort: pretxnclose hook failed
1337 [40]
1338 $ cat branchmap-update-02/.hg/cache/branch2-served
1339 99ba08759bc7f6fdbe5304e83d0387f35c082479 1
1340 99ba08759bc7f6fdbe5304e83d0387f35c082479 o A
@@ -218,7 +218,7 b' check that local configs for the cached '
218 devel.all-warnings=true
218 devel.all-warnings=true
219 devel.default-date=0 0
219 devel.default-date=0 0
220 extensions.fsmonitor= (fsmonitor !)
220 extensions.fsmonitor= (fsmonitor !)
221 format.exp-rc-dirstate-v2=1 (dirstate-v2 !)
221 format.use-dirstate-v2=1 (dirstate-v2 !)
222 largefiles.usercache=$TESTTMP/.cache/largefiles
222 largefiles.usercache=$TESTTMP/.cache/largefiles
223 lfs.usercache=$TESTTMP/.cache/lfs
223 lfs.usercache=$TESTTMP/.cache/lfs
224 ui.slash=True
224 ui.slash=True
@@ -3,7 +3,7 b''
3 #if dirstate-v2
3 #if dirstate-v2
4 $ cat >> $HGRCPATH << EOF
4 $ cat >> $HGRCPATH << EOF
5 > [format]
5 > [format]
6 > exp-rc-dirstate-v2=1
6 > use-dirstate-v2=1
7 > [storage]
7 > [storage]
8 > dirstate-v2.slow-path=allow
8 > dirstate-v2.slow-path=allow
9 > EOF
9 > EOF
@@ -3,7 +3,7 b''
3 #if dirstate-v2
3 #if dirstate-v2
4 $ cat >> $HGRCPATH << EOF
4 $ cat >> $HGRCPATH << EOF
5 > [format]
5 > [format]
6 > exp-rc-dirstate-v2=1
6 > use-dirstate-v2=1
7 > [storage]
7 > [storage]
8 > dirstate-v2.slow-path=allow
8 > dirstate-v2.slow-path=allow
9 > EOF
9 > EOF
@@ -3,7 +3,7 b''
3 #if dirstate-v2
3 #if dirstate-v2
4 $ cat >> $HGRCPATH << EOF
4 $ cat >> $HGRCPATH << EOF
5 > [format]
5 > [format]
6 > exp-rc-dirstate-v2=1
6 > use-dirstate-v2=1
7 > [storage]
7 > [storage]
8 > dirstate-v2.slow-path=allow
8 > dirstate-v2.slow-path=allow
9 > EOF
9 > EOF
@@ -1597,7 +1597,7 b' Separate sections from subsections'
1597
1597
1598 "usefncache"
1598 "usefncache"
1599
1599
1600 "exp-rc-dirstate-v2"
1600 "use-dirstate-v2"
1601
1601
1602 "use-persistent-nodemap"
1602 "use-persistent-nodemap"
1603
1603
@@ -3,7 +3,7 b''
3 #if dirstate-v2
3 #if dirstate-v2
4 $ cat >> $HGRCPATH << EOF
4 $ cat >> $HGRCPATH << EOF
5 > [format]
5 > [format]
6 > exp-rc-dirstate-v2=1
6 > use-dirstate-v2=1
7 > [storage]
7 > [storage]
8 > dirstate-v2.slow-path=allow
8 > dirstate-v2.slow-path=allow
9 > EOF
9 > EOF
@@ -5,7 +5,7 b''
5 #if dirstate-v2
5 #if dirstate-v2
6 $ cat >> $HGRCPATH << EOF
6 $ cat >> $HGRCPATH << EOF
7 > [format]
7 > [format]
8 > exp-rc-dirstate-v2=1
8 > use-dirstate-v2=1
9 > [storage]
9 > [storage]
10 > dirstate-v2.slow-path=allow
10 > dirstate-v2.slow-path=allow
11 > EOF
11 > EOF
@@ -800,7 +800,7 b' downgrading'
800 requirements
800 requirements
801 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
801 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
802 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
802 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
803 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
803 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
804 removed: persistent-nodemap
804 removed: persistent-nodemap
805
805
806 processed revlogs:
806 processed revlogs:
@@ -844,7 +844,7 b' upgrading'
844 requirements
844 requirements
845 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
845 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
846 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
846 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
847 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
847 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
848 added: persistent-nodemap
848 added: persistent-nodemap
849
849
850 processed revlogs:
850 processed revlogs:
@@ -876,7 +876,7 b' Running unrelated upgrade'
876 requirements
876 requirements
877 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
877 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
878 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
878 preserved: dotencode, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
879 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
879 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, persistent-nodemap, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
880
880
881 optimisations: re-delta-all
881 optimisations: re-delta-all
882
882
@@ -3,7 +3,7 b''
3 #if dirstate-v2
3 #if dirstate-v2
4 $ cat >> $HGRCPATH << EOF
4 $ cat >> $HGRCPATH << EOF
5 > [format]
5 > [format]
6 > exp-rc-dirstate-v2=1
6 > use-dirstate-v2=1
7 > [storage]
7 > [storage]
8 > dirstate-v2.slow-path=allow
8 > dirstate-v2.slow-path=allow
9 > EOF
9 > EOF
@@ -225,7 +225,7 b' Disable zstd related tests because its n'
225
225
226 requirements
226 requirements
227 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-dirstate-v2 !)
227 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-dirstate-v2 !)
228 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (dirstate-v2 !)
228 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (dirstate-v2 !)
229 added: revlog-compression-zstd
229 added: revlog-compression-zstd
230
230
231 processed revlogs:
231 processed revlogs:
@@ -253,8 +253,8 b' Disable zstd related tests because its n'
253 requirements
253 requirements
254 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
254 preserved: dotencode, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd no-dirstate-v2 !)
255 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
255 preserved: dotencode, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd no-dirstate-v2 !)
256 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd dirstate-v2 !)
256 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlogv1, share-safe, sparserevlog, store (no-zstd dirstate-v2 !)
257 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
257 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlog-compression-zstd, revlogv1, share-safe, sparserevlog, store (zstd dirstate-v2 !)
258 added: persistent-nodemap
258 added: persistent-nodemap
259
259
260 processed revlogs:
260 processed revlogs:
@@ -360,7 +360,7 b' Upgrade'
360 $ hg debugupgraderepo -q
360 $ hg debugupgraderepo -q
361 requirements
361 requirements
362 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
362 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
363 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
363 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
364 added: share-safe
364 added: share-safe
365
365
366 no revlogs to process
366 no revlogs to process
@@ -370,7 +370,7 b' Upgrade'
370
370
371 requirements
371 requirements
372 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
372 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
373 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
373 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
374 added: share-safe
374 added: share-safe
375
375
376 share-safe
376 share-safe
@@ -448,7 +448,7 b' Test that downgrading works too'
448 $ hg debugupgraderepo -q
448 $ hg debugupgraderepo -q
449 requirements
449 requirements
450 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
450 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
451 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
451 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
452 removed: share-safe
452 removed: share-safe
453
453
454 no revlogs to process
454 no revlogs to process
@@ -458,7 +458,7 b' Test that downgrading works too'
458
458
459 requirements
459 requirements
460 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
460 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
461 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
461 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
462 removed: share-safe
462 removed: share-safe
463
463
464 no revlogs to process
464 no revlogs to process
@@ -541,7 +541,7 b' Testing automatic upgrade of shares when'
541
541
542 requirements
542 requirements
543 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
543 preserved: dotencode, fncache, generaldelta, revlogv1, sparserevlog, store (no-dirstate-v2 !)
544 preserved: dotencode, exp-rc-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
544 preserved: dotencode, use-dirstate-v2, fncache, generaldelta, revlogv1, sparserevlog, store (dirstate-v2 !)
545 added: share-safe
545 added: share-safe
546
546
547 no revlogs to process
547 no revlogs to process
@@ -3,7 +3,7 b''
3 #if dirstate-v2
3 #if dirstate-v2
4 $ cat >> $HGRCPATH << EOF
4 $ cat >> $HGRCPATH << EOF
5 > [format]
5 > [format]
6 > exp-rc-dirstate-v2=1
6 > use-dirstate-v2=1
7 > [storage]
7 > [storage]
8 > dirstate-v2.slow-path=allow
8 > dirstate-v2.slow-path=allow
9 > EOF
9 > EOF
@@ -5,7 +5,7 b''
5 #if dirstate-v2
5 #if dirstate-v2
6 $ cat >> $HGRCPATH << EOF
6 $ cat >> $HGRCPATH << EOF
7 > [format]
7 > [format]
8 > exp-rc-dirstate-v2=1
8 > use-dirstate-v2=1
9 > [storage]
9 > [storage]
10 > dirstate-v2.slow-path=allow
10 > dirstate-v2.slow-path=allow
11 > EOF
11 > EOF
@@ -17,22 +17,28 b' Helper extension to intercept renames.'
17 > extensions.wrapfunction(util.atomictempfile, 'close', close)
17 > extensions.wrapfunction(util.atomictempfile, 'close', close)
18 > EOF
18 > EOF
19
19
20 Test offset computation to correctly factor in the index entries themselve.
20 Test offset computation to correctly factor in the index entries themselves.
21 Also test that the new data size has the correct size if the transaction is aborted
21 Also test that the new data size has the correct size if the transaction is aborted
22 after the index has been replaced.
22 after the index has been replaced.
23
23
24 Test repo has one small, one moderate and one big change. The clone has
24 Test repo has commits a, b, c, D, where D is large (grows the revlog enough that it
25 the small and moderate change and will transition to non-inline storage when
25 transitions to non-inline storage). The clone initially has changes a, b
26 adding the big change.
26 and will transition to non-inline storage when adding c, D.
27
28 If the transaction adding c, D is rolled back, then we don't undo the revlog split,
29 but truncate the index and the data to remove both c and D.
27
30
28 $ hg init troffset-computation --config format.revlog-compression=none
31 $ hg init troffset-computation --config format.revlog-compression=none
29 $ cd troffset-computation
32 $ cd troffset-computation
30 $ printf '%20d' '1' > file
33 $ printf '%20d' '1' > file
31 $ hg commit -Aqm_
34 $ hg commit -Aqma
32 $ printf '%1024d' '1' > file
35 $ printf '%1024d' '1' > file
33 $ hg commit -Aqm_
36 $ hg commit -Aqmb
37 $ printf '%20d' '1' > file
38 $ hg commit -Aqmc
34 $ dd if=/dev/zero of=file bs=1k count=128 > /dev/null 2>&1
39 $ dd if=/dev/zero of=file bs=1k count=128 > /dev/null 2>&1
35 $ hg commit -Aqm_
40 $ hg commit -AqmD
41
36 $ cd ..
42 $ cd ..
37
43
38 $ hg clone -r 1 troffset-computation troffset-computation-copy --config format.revlog-compression=none -q
44 $ hg clone -r 1 troffset-computation troffset-computation-copy --config format.revlog-compression=none -q
@@ -59,7 +65,7 b' Reference size:'
59 $ cat .hg/store/journal | tr -s '\000' ' ' | grep data/file | tail -1
65 $ cat .hg/store/journal | tr -s '\000' ' ' | grep data/file | tail -1
60 data/file.i 128
66 data/file.i 128
61
67
62 The first file.i entry should match the size above.
68 The first file.i entry should match the "Reference size" above.
63 The first file.d entry is the temporary record during the split,
69 The first file.d entry is the temporary record during the split,
64 the second entry after the split happened. The sum of the second file.d
70 the second entry after the split happened. The sum of the second file.d
65 and the second file.i entry should match the first file.i entry.
71 and the second file.i entry should match the first file.i entry.
@@ -76,11 +82,11 b' and the second file.i entry should match'
76 .hg/store/data/file.d: size=1046
82 .hg/store/data/file.d: size=1046
77 .hg/store/data/file.i: size=128
83 .hg/store/data/file.i: size=128
78 $ hg tip
84 $ hg tip
79 changeset: 1:3ce491143aec
85 changeset: 1:cfa8d6e60429
80 tag: tip
86 tag: tip
81 user: test
87 user: test
82 date: Thu Jan 01 00:00:00 1970 +0000
88 date: Thu Jan 01 00:00:00 1970 +0000
83 summary: _
89 summary: b
84
90
85 $ hg verify -q
91 $ hg verify -q
86 warning: revlog 'data/file.d' not in fncache!
92 warning: revlog 'data/file.d' not in fncache!
@@ -126,11 +132,11 b' where the data file is left as garbage.'
126 .hg/store/data/file.d: size=1046
132 .hg/store/data/file.d: size=1046
127 .hg/store/data/file.i: size=1174
133 .hg/store/data/file.i: size=1174
128 $ hg tip
134 $ hg tip
129 changeset: 1:3ce491143aec
135 changeset: 1:cfa8d6e60429
130 tag: tip
136 tag: tip
131 user: test
137 user: test
132 date: Thu Jan 01 00:00:00 1970 +0000
138 date: Thu Jan 01 00:00:00 1970 +0000
133 summary: _
139 summary: b
134
140
135 $ hg verify -q
141 $ hg verify -q
136 $ cd ..
142 $ cd ..
@@ -158,11 +164,11 b' Repeat the original test but let hg roll'
158 .hg/store/data/file.d: size=1046
164 .hg/store/data/file.d: size=1046
159 .hg/store/data/file.i: size=128
165 .hg/store/data/file.i: size=128
160 $ hg tip
166 $ hg tip
161 changeset: 1:3ce491143aec
167 changeset: 1:cfa8d6e60429
162 tag: tip
168 tag: tip
163 user: test
169 user: test
164 date: Thu Jan 01 00:00:00 1970 +0000
170 date: Thu Jan 01 00:00:00 1970 +0000
165 summary: _
171 summary: b
166
172
167 $ hg verify -q
173 $ hg verify -q
168 warning: revlog 'data/file.d' not in fncache!
174 warning: revlog 'data/file.d' not in fncache!
@@ -421,3 +421,27 b' Rename a->b, then amend b->c, and workin'
421 A d
421 A d
422 b
422 b
423 R b
423 R b
424
425 Try to unamend a merge
426
427 $ cd ..
428 $ hg init merge
429 $ cd merge
430 $ echo initial > initial
431 $ hg ci -Aqm initial
432 $ echo left > left
433 $ hg ci -Aqm left
434 $ hg co -q 0
435 $ echo right > right
436 $ hg ci -Aqm right
437 $ hg merge -q 1
438 $ hg ci -m merge
439 $ echo accidental > initial
440 $ hg st --rev 1 --rev .
441 A right
442 $ hg st --rev 2 --rev .
443 A left
444 $ hg amend
445 $ hg unamend
446 abort: cannot unamend merge changeset
447 [10]
@@ -1713,9 +1713,9 b' Demonstrate that nothing to perform upgr'
1713
1713
1714 Upgrade to dirstate-v2
1714 Upgrade to dirstate-v2
1715
1715
1716 $ hg debugformat -v --config format.exp-rc-dirstate-v2=1 | grep dirstate-v2
1716 $ hg debugformat -v --config format.use-dirstate-v2=1 | grep dirstate-v2
1717 dirstate-v2: no yes no
1717 dirstate-v2: no yes no
1718 $ hg debugupgraderepo --config format.exp-rc-dirstate-v2=1 --run
1718 $ hg debugupgraderepo --config format.use-dirstate-v2=1 --run
1719 upgrade will perform the following actions:
1719 upgrade will perform the following actions:
1720
1720
1721 requirements
1721 requirements
@@ -1769,14 +1769,14 b' Downgrade from dirstate-v2'
1769 dirstate-v2: upgrade and downgrade from and empty repository:
1769 dirstate-v2: upgrade and downgrade from and empty repository:
1770 -------------------------------------------------------------
1770 -------------------------------------------------------------
1771
1771
1772 $ hg init --config format.exp-rc-dirstate-v2=no dirstate-v2-empty
1772 $ hg init --config format.use-dirstate-v2=no dirstate-v2-empty
1773 $ cd dirstate-v2-empty
1773 $ cd dirstate-v2-empty
1774 $ hg debugformat | grep dirstate-v2
1774 $ hg debugformat | grep dirstate-v2
1775 dirstate-v2: no
1775 dirstate-v2: no
1776
1776
1777 upgrade
1777 upgrade
1778
1778
1779 $ hg debugupgraderepo --run --config format.exp-rc-dirstate-v2=yes
1779 $ hg debugupgraderepo --run --config format.use-dirstate-v2=yes
1780 upgrade will perform the following actions:
1780 upgrade will perform the following actions:
1781
1781
1782 requirements
1782 requirements
@@ -1800,7 +1800,7 b' upgrade'
1800
1800
1801 downgrade
1801 downgrade
1802
1802
1803 $ hg debugupgraderepo --run --config format.exp-rc-dirstate-v2=no
1803 $ hg debugupgraderepo --run --config format.use-dirstate-v2=no
1804 upgrade will perform the following actions:
1804 upgrade will perform the following actions:
1805
1805
1806 requirements
1806 requirements
General Comments 0
You need to be logged in to leave comments. Login now