Mercurial > hg-stable
changeset 51205:a9f96e809c2a
branching: merge with default
We merge with the current children of the bad merge (37b52b938579)
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 15 Dec 2023 11:10:24 +0100 |
parents | 028498b04a84 (current diff) a93e52f0b6ff (diff) |
children | a6e293b21743 |
files | |
diffstat | 48 files changed, 781 insertions(+), 355 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/changelog.py Fri Dec 15 11:08:41 2023 +0100 +++ b/mercurial/changelog.py Fri Dec 15 11:10:24 2023 +0100 @@ -308,6 +308,7 @@ persistentnodemap=opener.options.get(b'persistent-nodemap', False), concurrencychecker=concurrencychecker, trypending=trypending, + may_inline=False, ) if self._initempty and (self._format_version == revlog.REVLOGV1): @@ -344,6 +345,11 @@ def delayupdate(self, tr): """delay visibility of index updates to other readers""" assert not self._inner.is_open + assert not self._may_inline + # enforce that older changelog that are still inline are split at the + # first opportunity. + if self._inline: + self._enforceinlinesize(tr) if self._docket is not None: self._v2_delayed = True else:
--- a/mercurial/revlog.py Fri Dec 15 11:08:41 2023 +0100 +++ b/mercurial/revlog.py Fri Dec 15 11:10:24 2023 +0100 @@ -367,7 +367,7 @@ self.opener = opener self.index = index - self.__index_file = index_file + self.index_file = index_file self.data_file = data_file self.sidedata_file = sidedata_file self.inline = inline @@ -416,16 +416,6 @@ self._delay_buffer = None - @property - def index_file(self): - return self.__index_file - - @index_file.setter - def index_file(self, new_index_file): - self.__index_file = new_index_file - if self.inline: - self._segmentfile.filename = new_index_file - def __len__(self): return len(self.index) @@ -652,6 +642,9 @@ """Context manager that keeps data and sidedata files open for reading""" if len(self.index) == 0: yield # nothing to be read + elif self._delay_buffer is not None and self.inline: + msg = "revlog with delayed write should not be inline" + raise error.ProgrammingError(msg) else: with self._segmentfile.reading(): with self._segmentfile_sidedata.reading(): @@ -1137,18 +1130,16 @@ ifh.write(entry) else: self._delay_buffer.append(entry) + elif self._delay_buffer is not None: + msg = b'invalid delayed write on inline revlog' + raise error.ProgrammingError(msg) else: offset += curr * self.index.entry_size transaction.add(self.canonical_index_file, offset) assert not sidedata - if self._delay_buffer is None: - ifh.write(entry) - ifh.write(data[0]) - ifh.write(data[1]) - else: - self._delay_buffer.append(entry) - self._delay_buffer.append(data[0]) - self._delay_buffer.append(data[1]) + ifh.write(entry) + ifh.write(data[0]) + ifh.write(data[1]) return ( ifh.tell(), dfh.tell() if dfh else None, @@ -1160,6 +1151,9 @@ def delay(self): assert not self.is_open + if self.inline: + msg = "revlog with delayed write should not be inline" + raise error.ProgrammingError(msg) if self._delay_buffer is not None or self._orig_index_file is not None: # delay or divert already in place return None @@ -1173,12 +1167,13 @@ return self.index_file else: self._delay_buffer = [] - if self.inline: - self._segmentfile._delay_buffer = self._delay_buffer return None def write_pending(self): assert not self.is_open + if self.inline: + msg = "revlog with delayed write should not be inline" + raise error.ProgrammingError(msg) if self._orig_index_file is not None: return None, True any_pending = False @@ -1195,16 +1190,15 @@ ifh.write(b"".join(self._delay_buffer)) any_pending = True self._delay_buffer = None - if self.inline: - self._segmentfile._delay_buffer = self._delay_buffer - else: - assert self._segmentfile._delay_buffer is None self._orig_index_file = self.index_file self.index_file = pending_index_file return self.index_file, any_pending def finalize_pending(self): assert not self.is_open + if self.inline: + msg = "revlog with delayed write should not be inline" + raise error.ProgrammingError(msg) delay = self._delay_buffer is not None divert = self._orig_index_file is not None @@ -1216,7 +1210,7 @@ with self.opener(self.index_file, b'r+') as ifh: ifh.seek(0, os.SEEK_END) ifh.write(b"".join(self._delay_buffer)) - self._segmentfile._delay_buffer = self._delay_buffer = None + self._delay_buffer = None elif divert: if self.opener.exists(self.index_file): self.opener.rename( @@ -2831,20 +2825,24 @@ """ tiprev = len(self) - 1 total_size = self.start(tiprev) + self.length(tiprev) - if not self._inline or total_size < _maxinline: + if not self._inline or (self._may_inline and total_size < _maxinline): return if self._docket is not None: msg = b"inline revlog should not have a docket" raise error.ProgrammingError(msg) + # In the common case, we enforce inline size because the revlog has + # been appened too. And in such case, it must have an initial offset + # recorded in the transaction. troffset = tr.findoffset(self._inner.canonical_index_file) - if troffset is None: + pre_touched = troffset is not None + if not pre_touched and self.target[0] != KIND_CHANGELOG: raise error.RevlogError( _(b"%s not found in the transaction") % self._indexfile ) - if troffset: - tr.addbackup(self._inner.canonical_index_file, for_offset=True) + + tr.addbackup(self._inner.canonical_index_file, for_offset=pre_touched) tr.add(self._datafile, 0) new_index_file_path = None
--- a/mercurial/revlogutils/randomaccessfile.py Fri Dec 15 11:08:41 2023 +0100 +++ b/mercurial/revlogutils/randomaccessfile.py Fri Dec 15 11:10:24 2023 +0100 @@ -116,8 +116,6 @@ if initial_cache: self._cached_chunk_position, self._cached_chunk = initial_cache - self._delay_buffer = None - def clear_cache(self): self._cached_chunk = b'' self._cached_chunk_position = 0 @@ -133,12 +131,7 @@ def _open(self, mode=b'r'): """Return a file object""" - if self._delay_buffer is None: - return self.opener(self.filename, mode=mode) - else: - return appender( - self.opener, self.filename, mode, self._delay_buffer - ) + return self.opener(self.filename, mode=mode) @contextlib.contextmanager def _read_handle(self):
--- a/tests/test-bundle.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-bundle.t Fri Dec 15 11:10:24 2023 +0100 @@ -286,13 +286,17 @@ #if reporevlogstore rust $ hg -R test debugcreatestreamclonebundle packed.hg - writing 2665 bytes for 6 files + writing 2665 bytes for 6 files (no-rust !) + writing 2919 bytes for 9 files (rust !) bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog $ f -B 64 --size --sha1 --hexdump packed.hg - packed.hg: size=2865, sha1=353d10311f4befa195d9a1ca4b8e26518115c702 - 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........| - 0010: 00 00 00 00 0a 69 00 3b 67 65 6e 65 72 61 6c 64 |.....i.;generald| + packed.hg: size=2865, sha1=353d10311f4befa195d9a1ca4b8e26518115c702 (no-rust !) + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........| (no-rust !) + 0010: 00 00 00 00 0a 69 00 3b 67 65 6e 65 72 61 6c 64 |.....i.;generald| (no-rust !) + packed.hg: size=3181, sha1=b202787710a1c109246554be589506cd2916acb7 (rust !) + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 09 00 00 |HGS1UN..........| (rust !) + 0010: 00 00 00 00 0b 67 00 3b 67 65 6e 65 72 61 6c 64 |.....g.;generald| (rust !) 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 2d 63 6f 6d 70 |elta,revlog-comp| 0030: 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c 72 65 76 |ression-zstd,rev| $ hg debugbundle --spec packed.hg @@ -302,12 +306,12 @@ #if reporevlogstore no-rust zstd $ hg -R test debugcreatestreamclonebundle packed.hg - writing 2665 bytes for 6 files + writing 2665 bytes for 7 files bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog $ f -B 64 --size --sha1 --hexdump packed.hg - packed.hg: size=2865, sha1=353d10311f4befa195d9a1ca4b8e26518115c702 - 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........| + packed.hg: size=2882, sha1=6525b07e6bfced4b6c2319cb58c6ff76ca72fa13 + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 07 00 00 |HGS1UN..........| 0010: 00 00 00 00 0a 69 00 3b 67 65 6e 65 72 61 6c 64 |.....i.;generald| 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 2d 63 6f 6d 70 |elta,revlog-comp| 0030: 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c 72 65 76 |ression-zstd,rev| @@ -318,12 +322,12 @@ #if reporevlogstore no-rust no-zstd $ hg -R test debugcreatestreamclonebundle packed.hg - writing 2664 bytes for 6 files + writing 2664 bytes for 7 files bundle requirements: generaldelta, revlogv1, sparserevlog $ f -B 64 --size --sha1 --hexdump packed.hg - packed.hg: size=2840, sha1=12bf3eee3eb8a04c503ce2d29b48f0135c7edff5 - 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........| + packed.hg: size=2857, sha1=3a7353323915b095baa6f2ee0a5aed588f11f5f0 + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 07 00 00 |HGS1UN..........| 0010: 00 00 00 00 0a 68 00 23 67 65 6e 65 72 61 6c 64 |.....h.#generald| 0020: 65 6c 74 61 2c 72 65 76 6c 6f 67 76 31 2c 73 70 |elta,revlogv1,sp| 0030: 61 72 73 65 72 65 76 6c 6f 67 00 64 61 74 61 2f |arserevlog.data/| @@ -346,13 +350,17 @@ #if reporevlogstore rust $ hg -R testnongd debugcreatestreamclonebundle packednongd.hg - writing 301 bytes for 3 files + writing 301 bytes for 3 files (no-rust !) + writing 427 bytes for 6 files (rust !) bundle requirements: revlog-compression-zstd, revlogv1 $ f -B 64 --size --sha1 --hexdump packednongd.hg - packednongd.hg: size=407, sha1=0b8714422b785ba8eb98c916b41ffd5fb994c9b5 - 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........| - 0010: 00 00 00 00 01 2d 00 21 72 65 76 6c 6f 67 2d 63 |.....-.!revlog-c| + packednongd.hg: size=407, sha1=0b8714422b785ba8eb98c916b41ffd5fb994c9b5 (no-rust !) + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........| (no-rust !) + 0010: 00 00 00 00 01 2d 00 21 72 65 76 6c 6f 67 2d 63 |.....-.!revlog-c| (no-rust !) + packednongd.hg: size=593, sha1=1ad0cbea11b5dd7b0437e54ae20fc5f8df118521 (rust !) + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 06 00 00 |HGS1UN..........| (rust !) + 0010: 00 00 00 00 01 ab 00 21 72 65 76 6c 6f 67 2d 63 |.......!revlog-c| (rust !) 0020: 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c |ompression-zstd,| 0030: 72 65 76 6c 6f 67 76 31 00 64 61 74 61 2f 66 6f |revlogv1.data/fo| @@ -364,12 +372,12 @@ #if reporevlogstore no-rust zstd $ hg -R testnongd debugcreatestreamclonebundle packednongd.hg - writing 301 bytes for 3 files + writing 301 bytes for 4 files bundle requirements: revlog-compression-zstd, revlogv1 $ f -B 64 --size --sha1 --hexdump packednongd.hg - packednongd.hg: size=407, sha1=0b8714422b785ba8eb98c916b41ffd5fb994c9b5 - 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........| + packednongd.hg: size=423, sha1=4269c89cf64b6a4377be75a3983771c4153362bf + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 04 00 00 |HGS1UN..........| 0010: 00 00 00 00 01 2d 00 21 72 65 76 6c 6f 67 2d 63 |.....-.!revlog-c| 0020: 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a 73 74 64 2c |ompression-zstd,| 0030: 72 65 76 6c 6f 67 76 31 00 64 61 74 61 2f 66 6f |revlogv1.data/fo| @@ -383,12 +391,12 @@ #if reporevlogstore no-rust no-zstd $ hg -R testnongd debugcreatestreamclonebundle packednongd.hg - writing 301 bytes for 3 files + writing 301 bytes for 4 files bundle requirements: revlogv1 $ f -B 64 --size --sha1 --hexdump packednongd.hg - packednongd.hg: size=383, sha1=1d9c230238edd5d38907100b729ba72b1831fe6f - 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 03 00 00 |HGS1UN..........| + packednongd.hg: size=399, sha1=99bb89decfc6674a3cf2cc87accc8c5332ede7fd + 0000: 48 47 53 31 55 4e 00 00 00 00 00 00 00 04 00 00 |HGS1UN..........| 0010: 00 00 00 00 01 2d 00 09 72 65 76 6c 6f 67 76 31 |.....-..revlogv1| 0020: 00 64 61 74 61 2f 66 6f 6f 2e 69 00 36 34 0a 00 |.data/foo.i.64..| 0030: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| @@ -416,7 +424,8 @@ $ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg (warning: stream clone bundle will contain secret revisions) - writing 301 bytes for 3 files + writing 301 bytes for 3 files (no-rust !) + writing 427 bytes for 6 files (rust !) bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog #endif @@ -425,7 +434,7 @@ $ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg (warning: stream clone bundle will contain secret revisions) - writing 301 bytes for 3 files + writing 301 bytes for 4 files bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog #endif @@ -434,7 +443,7 @@ $ hg -R testsecret debugcreatestreamclonebundle packedsecret.hg (warning: stream clone bundle will contain secret revisions) - writing 301 bytes for 3 files + writing 301 bytes for 4 files bundle requirements: generaldelta, revlogv1, sparserevlog #endif @@ -479,10 +488,12 @@ > EOF $ hg -R packed debugapplystreamclonebundle packed.hg - 6 files to transfer, 2.60 KB of data + 7 files to transfer, 2.60 KB of data (no-rust !) + 9 files to transfer, 2.85 KB of data (rust !) pretxnopen: 000000000000 pretxnclose: aa35859c02ea - transferred 2.60 KB in * seconds (* */sec) (glob) + transferred 2.60 KB in * seconds (* */sec) (glob) (no-rust !) + transferred 2.85 KB in * seconds (* */sec) (glob) (rust !) txnclose: aa35859c02ea (for safety, confirm visibility of streamclone-ed changes by another
--- a/tests/test-bundle2-exchange.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-bundle2-exchange.t Fri Dec 15 11:10:24 2023 +0100 @@ -1042,6 +1042,8 @@ adding changesets remote: abort: incompatible Mercurial client; bundle2 required remote: (see https://www.mercurial-scm.org/wiki/IncompatibleClient) + transaction abort! + rollback completed abort: stream ended unexpectedly (got 0 bytes, expected 4) [255]
--- a/tests/test-clone-stream-revlog-split.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-clone-stream-revlog-split.t Fri Dec 15 11:10:24 2023 +0100 @@ -102,21 +102,28 @@ bundle2-input-part: "stream2" (params: 3 mandatory) supported (stream-bundle2-v2 !) bundle2-input-part: "stream3-exp" (params: 1 mandatory) supported (stream-bundle2-v3 !) applying stream bundle - 7 files to transfer, 2.11 KB of data (stream-bundle2-v2 !) + 8 files to transfer, 2.11 KB of data (stream-bundle2-v2 no-rust !) + 10 files to transfer, 2.29 KB of data (stream-bundle2-v2 rust !) adding [s] data/some-file.i (1.23 KB) (stream-bundle2-v2 !) 7 entries to transfer (stream-bundle2-v3 !) adding [s] data/some-file.d (1.04 KB) (stream-bundle2-v3 !) adding [s] data/some-file.i (192 bytes) (stream-bundle2-v3 !) adding [s] phaseroots (43 bytes) adding [s] 00manifest.i (348 bytes) - adding [s] 00changelog.i (381 bytes) + adding [s] 00changelog.n (62 bytes) (rust !) + adding [s] 00changelog-88698448.nd (128 bytes) (rust !) + adding [s] 00changelog.d (189 bytes) + adding [s] 00changelog.i (192 bytes) adding [c] branch2-served (94 bytes) adding [c] rbc-names-v1 (7 bytes) adding [c] rbc-revs-v1 (24 bytes) updating the branch cache - transferred 2.11 KB in * seconds (* */sec) (glob) - bundle2-input-part: total payload size 2268 (stream-bundle2-v2 !) - bundle2-input-part: total payload size 2296 (stream-bundle2-v3 !) + transferred 2.11 KB in * seconds (* */sec) (glob) (no-rust !) + transferred 2.29 KB in * seconds (* */sec) (glob) (rust !) + bundle2-input-part: total payload size 2285 (stream-bundle2-v2 no-rust !) + bundle2-input-part: total payload size 2518 (stream-bundle2-v2 rust !) + bundle2-input-part: total payload size 2313 (stream-bundle2-v3 no-rust !) + bundle2-input-part: total payload size 2546 (stream-bundle2-v3 rust !) bundle2-input-part: "listkeys" (params: 1 mandatory) supported bundle2-input-bundle: 2 parts total checking for updated bookmarks
--- a/tests/test-clone-stream.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-clone-stream.t Fri Dec 15 11:10:24 2023 +0100 @@ -6,6 +6,10 @@ $ cat << EOF >> $HGRCPATH > [server] > bundle2.stream = no + > [format] + > # persistent nodemap is too broken with legacy format, + > # however client with nodemap support will have better stream support. + > use-persistent-nodemap=no > EOF #endif #if stream-bundle2-v3 @@ -328,9 +332,9 @@ #if stream-legacy $ hg clone --stream -U http://localhost:$HGPORT clone1 streaming all changes - 1090 files to transfer, 102 KB of data (no-zstd !) + 1091 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1090 files to transfer, 98.8 KB of data (zstd !) + 1091 files to transfer, 98.8 KB of data (zstd !) transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found @@ -339,10 +343,12 @@ #if stream-bundle2-v2 $ hg clone --stream -U http://localhost:$HGPORT clone1 streaming all changes - 1093 files to transfer, 102 KB of data (no-zstd !) + 1094 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1093 files to transfer, 98.9 KB of data (zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) + 1094 files to transfer, 98.9 KB of data (zstd no-rust !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + 1096 files to transfer, 99.0 KB of data (zstd rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) $ ls -1 clone1/.hg/cache branch2-base @@ -362,7 +368,8 @@ streaming all changes 1093 entries to transfer transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) $ ls -1 clone1/.hg/cache branch2-base @@ -387,12 +394,12 @@ #if no-zstd no-rust $ f --size --hex --bytes 256 body - body: size=119123 + body: size=119140 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| 0010: 62 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 |b.STREAM2.......| 0020: 06 09 04 0c 26 62 79 74 65 63 6f 75 6e 74 31 30 |....&bytecount10| 0030: 34 31 31 35 66 69 6c 65 63 6f 75 6e 74 31 30 39 |4115filecount109| - 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen| + 0040: 34 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |4requirementsgen| 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl| 0060: 6f 67 76 31 25 32 43 73 70 61 72 73 65 72 65 76 |ogv1%2Csparserev| 0070: 6c 6f 67 00 00 80 00 73 08 42 64 61 74 61 2f 30 |log....s.Bdata/0| @@ -407,14 +414,14 @@ #endif #if zstd no-rust $ f --size --hex --bytes 256 body - body: size=116310 (no-bigendian !) - body: size=116305 (bigendian !) + body: size=116327 (no-bigendian !) + body: size=116322 (bigendian !) 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| 0010: 7c 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 ||.STREAM2.......| 0020: 06 09 04 0c 40 62 79 74 65 63 6f 75 6e 74 31 30 |....@bytecount10| 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| (no-bigendian !) 0030: 31 32 37 31 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1271filecount109| (bigendian !) - 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen| + 0040: 34 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |4requirementsgen| 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl| 0060: 6f 67 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a |og-compression-z| 0070: 73 74 64 25 32 43 72 65 76 6c 6f 67 76 31 25 32 |std%2Crevlogv1%2| @@ -429,12 +436,22 @@ #endif #if zstd rust no-dirstate-v2 $ f --size --hex --bytes 256 body - body: size=116310 + body: size=116310 (no-rust !) + body: size=116495 (rust no-stream-legacy no-bigendian !) + body: size=116490 (rust no-stream-legacy bigendian !) + body: size=116327 (rust stream-legacy no-bigendian !) + body: size=116322 (rust stream-legacy bigendian !) 0000: 04 6e 6f 6e 65 48 47 32 30 00 00 00 00 00 00 00 |.noneHG20.......| 0010: 7c 07 53 54 52 45 41 4d 32 00 00 00 00 03 00 09 ||.STREAM2.......| 0020: 06 09 04 0c 40 62 79 74 65 63 6f 75 6e 74 31 30 |....@bytecount10| - 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| - 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen| + 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| (no-rust !) + 0040: 33 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |3requirementsgen| (no-rust !) + 0030: 31 34 30 32 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1402filecount109| (rust no-stream-legacy no-bigendian !) + 0030: 31 33 39 37 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1397filecount109| (rust no-stream-legacy bigendian !) + 0040: 36 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |6requirementsgen| (rust no-stream-legacy !) + 0030: 31 32 37 36 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1276filecount109| (rust stream-legacy no-bigendian !) + 0030: 31 32 37 31 66 69 6c 65 63 6f 75 6e 74 31 30 39 |1271filecount109| (rust stream-legacy bigendian !) + 0040: 34 72 65 71 75 69 72 65 6d 65 6e 74 73 67 65 6e |4requirementsgen| (rust stream-legacy !) 0050: 65 72 61 6c 64 65 6c 74 61 25 32 43 72 65 76 6c |eraldelta%2Crevl| 0060: 6f 67 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 2d 7a |og-compression-z| 0070: 73 74 64 25 32 43 72 65 76 6c 6f 67 76 31 25 32 |std%2Crevlogv1%2| @@ -473,9 +490,9 @@ #if stream-legacy $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed streaming all changes - 1090 files to transfer, 102 KB of data (no-zstd !) + 1091 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1090 files to transfer, 98.8 KB of data (zstd !) + 1091 files to transfer, 98.8 KB of data (zstd !) transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found @@ -483,17 +500,20 @@ #if stream-bundle2-v2 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed streaming all changes - 1093 files to transfer, 102 KB of data (no-zstd !) + 1094 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1093 files to transfer, 98.9 KB of data (zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) + 1094 files to transfer, 98.9 KB of data (zstd no-rust !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + 1096 files to transfer, 99.0 KB of data (zstd rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) #endif #if stream-bundle2-v3 $ hg clone --uncompressed -U http://localhost:$HGPORT clone1-uncompressed streaming all changes 1093 entries to transfer transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) #endif Clone with background file closing enabled @@ -505,8 +525,8 @@ sending branchmap command streaming all changes sending stream_out command - 1090 files to transfer, 102 KB of data (no-zstd !) - 1090 files to transfer, 98.8 KB of data (zstd !) + 1091 files to transfer, 102 KB of data (no-zstd !) + 1091 files to transfer, 98.8 KB of data (zstd !) starting 4 threads for background file closing updating the branch cache transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) @@ -537,16 +557,20 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "stream2" (params: 3 mandatory) supported applying stream bundle - 1093 files to transfer, 102 KB of data (no-zstd !) - 1093 files to transfer, 98.9 KB of data (zstd !) + 1094 files to transfer, 102 KB of data (no-zstd !) + 1094 files to transfer, 98.9 KB of data (zstd no-rust !) + 1096 files to transfer, 99.0 KB of data (zstd rust !) starting 4 threads for background file closing starting 4 threads for background file closing updating the branch cache transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - bundle2-input-part: total payload size 118984 (no-zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) - bundle2-input-part: total payload size 116145 (zstd no-bigendian !) - bundle2-input-part: total payload size 116140 (zstd bigendian !) + bundle2-input-part: total payload size 119001 (no-zstd !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) + bundle2-input-part: total payload size 116162 (zstd no-bigendian no-rust !) + bundle2-input-part: total payload size 116330 (zstd no-bigendian rust !) + bundle2-input-part: total payload size 116157 (zstd bigendian no-rust !) + bundle2-input-part: total payload size 116325 (zstd bigendian rust !) bundle2-input-part: "listkeys" (params: 1 mandatory) supported bundle2-input-bundle: 2 parts total checking for updated bookmarks @@ -569,10 +593,13 @@ starting 4 threads for background file closing updating the branch cache transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - bundle2-input-part: total payload size 120079 (no-zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) - bundle2-input-part: total payload size 117240 (zstd no-bigendian !) - bundle2-input-part: total payload size 116138 (zstd bigendian !) + bundle2-input-part: total payload size 120096 (no-zstd !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) + bundle2-input-part: total payload size 117257 (zstd no-rust no-bigendian !) + bundle2-input-part: total payload size 117425 (zstd rust no-bigendian !) + bundle2-input-part: total payload size 117252 (zstd bigendian no-rust !) + bundle2-input-part: total payload size 117420 (zstd bigendian rust !) bundle2-input-part: "listkeys" (params: 1 mandatory) supported bundle2-input-bundle: 2 parts total checking for updated bookmarks @@ -604,9 +631,9 @@ #if stream-legacy $ hg clone --stream -U http://localhost:$HGPORT secret-allowed streaming all changes - 1090 files to transfer, 102 KB of data (no-zstd !) + 1091 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1090 files to transfer, 98.8 KB of data (zstd !) + 1091 files to transfer, 98.8 KB of data (zstd !) transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found @@ -614,17 +641,20 @@ #if stream-bundle2-v2 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed streaming all changes - 1093 files to transfer, 102 KB of data (no-zstd !) + 1094 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1093 files to transfer, 98.9 KB of data (zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) + 1094 files to transfer, 98.9 KB of data (zstd no-rust !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + 1096 files to transfer, 99.0 KB of data (zstd rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) #endif #if stream-bundle2-v3 $ hg clone --stream -U http://localhost:$HGPORT secret-allowed streaming all changes 1093 entries to transfer transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 98.9 KB in * seconds (* */sec) (glob) (zstd !) + transferred 98.9 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.0 KB in * seconds (* */sec) (glob) (zstd rust !) #endif $ killdaemons.py @@ -729,9 +759,9 @@ #if stream-legacy $ hg clone --stream http://localhost:$HGPORT with-bookmarks streaming all changes - 1090 files to transfer, 102 KB of data (no-zstd !) + 1091 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1090 files to transfer, 98.8 KB of data (zstd !) + 1091 files to transfer, 98.8 KB of data (zstd !) transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found @@ -741,10 +771,12 @@ #if stream-bundle2-v2 $ hg clone --stream http://localhost:$HGPORT with-bookmarks streaming all changes - 1096 files to transfer, 102 KB of data (no-zstd !) + 1097 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1096 files to transfer, 99.1 KB of data (zstd !) - transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) + 1097 files to transfer, 99.1 KB of data (zstd no-rust !) + transferred 99.1 KB in * seconds (* */sec) (glob) (zstd no-rust !) + 1099 files to transfer, 99.2 KB of data (zstd rust !) + transferred 99.2 KB in * seconds (* */sec) (glob) (zstd rust !) updating to branch default 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved #endif @@ -753,7 +785,8 @@ streaming all changes 1096 entries to transfer transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) + transferred 99.1 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.2 KB in * seconds (* */sec) (glob) (zstd rust !) updating to branch default 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved #endif @@ -774,9 +807,9 @@ #if stream-legacy $ hg clone --stream http://localhost:$HGPORT phase-publish streaming all changes - 1090 files to transfer, 102 KB of data (no-zstd !) + 1091 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1090 files to transfer, 98.8 KB of data (zstd !) + 1091 files to transfer, 98.8 KB of data (zstd !) transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found @@ -786,10 +819,12 @@ #if stream-bundle2-v2 $ hg clone --stream http://localhost:$HGPORT phase-publish streaming all changes - 1096 files to transfer, 102 KB of data (no-zstd !) + 1097 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1096 files to transfer, 99.1 KB of data (zstd !) - transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) + 1097 files to transfer, 99.1 KB of data (zstd no-rust !) + transferred 99.1 KB in * seconds (* */sec) (glob) (zstd no-rust !) + 1099 files to transfer, 99.2 KB of data (zstd rust !) + transferred 99.2 KB in * seconds (* */sec) (glob) (zstd rust !) updating to branch default 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved #endif @@ -798,7 +833,8 @@ streaming all changes 1096 entries to transfer transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) + transferred 99.1 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.2 KB in * seconds (* */sec) (glob) (zstd rust !) updating to branch default 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved #endif @@ -825,9 +861,9 @@ $ hg clone --stream http://localhost:$HGPORT phase-no-publish streaming all changes - 1090 files to transfer, 102 KB of data (no-zstd !) + 1091 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1090 files to transfer, 98.8 KB of data (zstd !) + 1091 files to transfer, 98.8 KB of data (zstd !) transferred 98.8 KB in * seconds (* */sec) (glob) (zstd !) searching for changes no changes found @@ -841,10 +877,12 @@ #if stream-bundle2-v2 $ hg clone --stream http://localhost:$HGPORT phase-no-publish streaming all changes - 1097 files to transfer, 102 KB of data (no-zstd !) + 1098 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1097 files to transfer, 99.1 KB of data (zstd !) - transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) + 1098 files to transfer, 99.1 KB of data (zstd no-rust !) + transferred 99.1 KB in * seconds (* */sec) (glob) (zstd no-rust !) + 1100 files to transfer, 99.2 KB of data (zstd rust !) + transferred 99.2 KB in * seconds (* */sec) (glob) (zstd rust !) updating to branch default 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R phase-no-publish phase -r 'all()' @@ -857,7 +895,8 @@ streaming all changes 1097 entries to transfer transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 99.1 KB in * seconds (* */sec) (glob) (zstd !) + transferred 99.1 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.2 KB in * seconds (* */sec) (glob) (zstd rust !) updating to branch default 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved $ hg -R phase-no-publish phase -r 'all()' @@ -904,10 +943,12 @@ $ hg clone -U --stream http://localhost:$HGPORT with-obsolescence streaming all changes - 1098 files to transfer, 102 KB of data (no-zstd !) + 1099 files to transfer, 102 KB of data (no-zstd !) transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - 1098 files to transfer, 99.5 KB of data (zstd !) - transferred 99.5 KB in * seconds (* */sec) (glob) (zstd !) + 1099 files to transfer, 99.5 KB of data (zstd no-rust !) + transferred 99.5 KB in * seconds (* */sec) (glob) (zstd no-rust !) + 1101 files to transfer, 99.6 KB of data (zstd rust !) + transferred 99.6 KB in * seconds (* */sec) (glob) (zstd rust !) $ hg -R with-obsolescence log -T '{rev}: {phase}\n' 2: draft 1: draft @@ -956,7 +997,8 @@ streaming all changes 1098 entries to transfer transferred 102 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 99.5 KB in * seconds (* */sec) (glob) (zstd !) + transferred 99.5 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 99.6 KB in * seconds (* */sec) (glob) (zstd rust !) $ hg -R with-obsolescence log -T '{rev}: {phase}\n' 2: draft 1: draft
--- a/tests/test-clone.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-clone.t Fri Dec 15 11:10:24 2023 +0100 @@ -71,22 +71,42 @@ #if hardlink $ hg --debug clone -U . ../c --config progress.debug=true - linking: 1/15 files (6.67%) - linking: 2/15 files (13.33%) - linking: 3/15 files (20.00%) - linking: 4/15 files (26.67%) - linking: 5/15 files (33.33%) - linking: 6/15 files (40.00%) - linking: 7/15 files (46.67%) - linking: 8/15 files (53.33%) - linking: 9/15 files (60.00%) - linking: 10/15 files (66.67%) - linking: 11/15 files (73.33%) - linking: 12/15 files (80.00%) - linking: 13/15 files (86.67%) - linking: 14/15 files (93.33%) - linking: 15/15 files (100.00%) - linked 15 files + linking: 1/16 files (6.25%) (no-rust !) + linking: 2/16 files (12.50%) (no-rust !) + linking: 3/16 files (18.75%) (no-rust !) + linking: 4/16 files (25.00%) (no-rust !) + linking: 5/16 files (31.25%) (no-rust !) + linking: 6/16 files (37.50%) (no-rust !) + linking: 7/16 files (43.75%) (no-rust !) + linking: 8/16 files (50.00%) (no-rust !) + linking: 9/16 files (56.25%) (no-rust !) + linking: 10/16 files (62.50%) (no-rust !) + linking: 11/16 files (68.75%) (no-rust !) + linking: 12/16 files (75.00%) (no-rust !) + linking: 13/16 files (81.25%) (no-rust !) + linking: 14/16 files (87.50%) (no-rust !) + linking: 15/16 files (93.75%) (no-rust !) + linking: 16/16 files (100.00%) (no-rust !) + linked 16 files (no-rust !) + linking: 1/18 files (5.56%) (rust !) + linking: 2/18 files (11.11%) (rust !) + linking: 3/18 files (16.67%) (rust !) + linking: 4/18 files (22.22%) (rust !) + linking: 5/18 files (27.78%) (rust !) + linking: 6/18 files (33.33%) (rust !) + linking: 7/18 files (38.89%) (rust !) + linking: 8/18 files (44.44%) (rust !) + linking: 9/18 files (50.00%) (rust !) + linking: 10/18 files (55.56%) (rust !) + linking: 11/18 files (61.11%) (rust !) + linking: 12/18 files (66.67%) (rust !) + linking: 13/18 files (72.22%) (rust !) + linking: 14/18 files (77.78%) (rust !) + linking: 15/18 files (83.33%) (rust !) + linking: 16/18 files (88.89%) (rust !) + linking: 17/18 files (94.44%) (rust !) + linking: 18/18 files (100.00%) (rust !) + linked 18 files (rust !) updating the branch cache #else $ hg --debug clone -U . ../c --config progress.debug=true
--- a/tests/test-clonebundles.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-clonebundles.t Fri Dec 15 11:10:24 2023 +0100 @@ -379,7 +379,8 @@ Stream clone bundles are supported $ hg -R server debugcreatestreamclonebundle packed.hg - writing 613 bytes for 4 files + writing 613 bytes for 5 files (no-rust !) + writing 739 bytes for 7 files (rust !) bundle requirements: generaldelta, revlogv1, sparserevlog (no-rust no-zstd !) bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog (no-rust zstd !) bundle requirements: generaldelta, revlog-compression-zstd, revlogv1, sparserevlog (rust !) @@ -392,8 +393,10 @@ $ hg clone -U http://localhost:$HGPORT stream-clone-no-spec applying clone bundle from http://localhost:$HGPORT1/packed.hg - 4 files to transfer, 613 bytes of data - transferred 613 bytes in *.* seconds (*) (glob) + 5 files to transfer, 613 bytes of data (no-rust !) + transferred 613 bytes in *.* seconds (*) (glob) (no-rust !) + 7 files to transfer, 739 bytes of data (rust !) + transferred 739 bytes in *.* seconds (*) (glob) (rust !) finished applying clone bundle searching for changes no changes found @@ -406,8 +409,10 @@ $ hg clone -U http://localhost:$HGPORT stream-clone-vanilla-spec applying clone bundle from http://localhost:$HGPORT1/packed.hg - 4 files to transfer, 613 bytes of data - transferred 613 bytes in *.* seconds (*) (glob) + 5 files to transfer, 613 bytes of data (no-rust !) + transferred 613 bytes in *.* seconds (*) (glob) (no-rust !) + 7 files to transfer, 739 bytes of data (rust !) + transferred 739 bytes in *.* seconds (*) (glob) (rust !) finished applying clone bundle searching for changes no changes found @@ -420,8 +425,10 @@ $ hg clone -U http://localhost:$HGPORT stream-clone-supported-requirements applying clone bundle from http://localhost:$HGPORT1/packed.hg - 4 files to transfer, 613 bytes of data - transferred 613 bytes in *.* seconds (*) (glob) + 5 files to transfer, 613 bytes of data (no-rust !) + transferred 613 bytes in *.* seconds (*) (glob) (no-rust !) + 7 files to transfer, 739 bytes of data (rust !) + transferred 739 bytes in *.* seconds (*) (glob) (rust !) finished applying clone bundle searching for changes no changes found @@ -567,8 +574,10 @@ no compatible clone bundles available on server; falling back to regular clone (you may want to report this to the server operator) streaming all changes - 9 files to transfer, 816 bytes of data - transferred 816 bytes in * seconds (*) (glob) + 10 files to transfer, 816 bytes of data (no-rust !) + transferred 816 bytes in * seconds (*) (glob) (no-rust !) + 12 files to transfer, 942 bytes of data (rust !) + transferred 942 bytes in *.* seconds (*) (glob) (rust !) A manifest with a stream clone but no BUNDLESPEC @@ -580,8 +589,10 @@ no compatible clone bundles available on server; falling back to regular clone (you may want to report this to the server operator) streaming all changes - 9 files to transfer, 816 bytes of data - transferred 816 bytes in * seconds (*) (glob) + 10 files to transfer, 816 bytes of data (no-rust !) + transferred 816 bytes in * seconds (*) (glob) (no-rust !) + 12 files to transfer, 942 bytes of data (rust !) + transferred 942 bytes in *.* seconds (*) (glob) (rust !) A manifest with a gzip bundle and a stream clone @@ -592,8 +603,10 @@ $ hg clone -U --stream http://localhost:$HGPORT uncompressed-gzip-packed applying clone bundle from http://localhost:$HGPORT1/packed.hg - 4 files to transfer, 613 bytes of data - transferred 613 bytes in * seconds (*) (glob) + 5 files to transfer, 613 bytes of data (no-rust !) + transferred 613 bytes in *.* seconds (*) (glob) (no-rust !) + 7 files to transfer, 739 bytes of data (rust !) + transferred 739 bytes in *.* seconds (*) (glob) (rust !) finished applying clone bundle searching for changes no changes found @@ -607,8 +620,10 @@ $ hg clone -U --stream http://localhost:$HGPORT uncompressed-gzip-packed-requirements applying clone bundle from http://localhost:$HGPORT1/packed.hg - 4 files to transfer, 613 bytes of data - transferred 613 bytes in * seconds (*) (glob) + 5 files to transfer, 613 bytes of data (no-rust !) + transferred 613 bytes in *.* seconds (*) (glob) (no-rust !) + 7 files to transfer, 739 bytes of data (rust !) + transferred 739 bytes in *.* seconds (*) (glob) (rust !) finished applying clone bundle searching for changes no changes found @@ -624,8 +639,10 @@ no compatible clone bundles available on server; falling back to regular clone (you may want to report this to the server operator) streaming all changes - 9 files to transfer, 816 bytes of data - transferred 816 bytes in * seconds (*) (glob) + 10 files to transfer, 816 bytes of data (no-rust !) + transferred 816 bytes in * seconds (*) (glob) (no-rust !) + 12 files to transfer, 942 bytes of data (rust !) + transferred 942 bytes in *.* seconds (*) (glob) (rust !) Test clone bundle retrieved through bundle2
--- a/tests/test-contrib-perf.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-contrib-perf.t Fri Dec 15 11:10:24 2023 +0100 @@ -309,9 +309,9 @@ $ hg perfparents --config perf.stub=no --config perf.run-limits='500000-1, 0.000000001-50' ! wall * comb * user * sys * (best of 50) (glob) - ! wall * comb * user * sys 0.000000 (max of 50) (glob) - ! wall * comb * user * sys 0.000000 (avg of 50) (glob) - ! wall * comb * user * sys 0.000000 (median of 50) (glob) + ! wall * comb * user * sys * (max of 50) (glob) + ! wall * comb * user * sys * (avg of 50) (glob) + ! wall * comb * user * sys * (median of 50) (glob) error case are ignored
--- a/tests/test-debug-rebuild-dirstate.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-debug-rebuild-dirstate.t Fri Dec 15 11:10:24 2023 +0100 @@ -28,12 +28,12 @@ $ f --size .hg/dirstate* .hg/dirstate: size=133 - .hg/dirstate.b870a51b: size=511 - $ hg debugrebuilddirstate - $ f --size .hg/dirstate* - .hg/dirstate: size=133 .hg/dirstate.88698448: size=511 $ hg debugrebuilddirstate $ f --size .hg/dirstate* .hg/dirstate: size=133 .hg/dirstate.6b8ab34b: size=511 + $ hg debugrebuilddirstate + $ f --size .hg/dirstate* + .hg/dirstate: size=133 + .hg/dirstate.b875dfc5: size=511
--- a/tests/test-debugcommands.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-debugcommands.t Fri Dec 15 11:10:24 2023 +0100 @@ -17,7 +17,7 @@ #if reporevlogstore $ hg debugrevlog -c format : 1 - flags : inline + flags : (none) revisions : 3 merges : 0 ( 0.00%)
--- a/tests/test-eol-clone.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-eol-clone.t Fri Dec 15 11:10:24 2023 +0100 @@ -80,7 +80,8 @@ [patterns] **.txt = native $ hg clone repo repo-3 -v --debug - linked 7 files + linked 8 files (no-rust !) + linked 10 files (rust !) updating to branch default resolving manifests branchmerge: False, force: False, partial: False
--- a/tests/test-fncache.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-fncache.t Fri Dec 15 11:10:24 2023 +0100 @@ -88,7 +88,10 @@ adding tst.d/foo $ find .hg | sort .hg + .hg/00changelog-6b8ab34b.nd (rust !) + .hg/00changelog.d .hg/00changelog.i + .hg/00changelog.n (rust !) .hg/00manifest.i .hg/branch .hg/cache @@ -135,7 +138,10 @@ .hg/last-message.txt .hg/requires .hg/store + .hg/store/00changelog-b875dfc5.nd (rust !) + .hg/store/00changelog.d .hg/store/00changelog.i + .hg/store/00changelog.n (rust !) .hg/store/00manifest.i .hg/store/data .hg/store/data/tst.d.hg
--- a/tests/test-hardlinks.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-hardlinks.t Fri Dec 15 11:10:24 2023 +0100 @@ -44,7 +44,10 @@ $ cd ../.. $ nlinksdir r1/.hg/store + 1 r1/.hg/store/00changelog-b870a51b.nd (rust !) + 1 r1/.hg/store/00changelog.d 1 r1/.hg/store/00changelog.i + 1 r1/.hg/store/00changelog.n (rust !) 1 r1/.hg/store/00manifest.i 1 r1/.hg/store/data/d1/f2.i 1 r1/.hg/store/data/f1.i @@ -52,6 +55,7 @@ 1 r1/.hg/store/phaseroots 1 r1/.hg/store/requires 1 r1/.hg/store/undo + 1 r1/.hg/store/undo.backup.00changelog.n.bck (rust !) 1 r1/.hg/store/undo.backup.fncache.bck (repofncache !) 1 r1/.hg/store/undo.backupfiles @@ -59,14 +63,26 @@ Create hardlinked clone r2: $ hg clone -U --debug r1 r2 --config progress.debug=true - linking: 1/7 files (14.29%) - linking: 2/7 files (28.57%) - linking: 3/7 files (42.86%) - linking: 4/7 files (57.14%) - linking: 5/7 files (71.43%) - linking: 6/7 files (85.71%) - linking: 7/7 files (100.00%) - linked 7 files + linking: 1/8 files (12.50%) (no-rust !) + linking: 2/8 files (25.00%) (no-rust !) + linking: 3/8 files (37.50%) (no-rust !) + linking: 4/8 files (50.00%) (no-rust !) + linking: 5/8 files (62.50%) (no-rust !) + linking: 6/8 files (75.00%) (no-rust !) + linking: 7/8 files (87.50%) (no-rust !) + linking: 8/8 files (100.00%) (no-rust !) + linked 8 files (no-rust !) + linking: 1/10 files (10.00%) (rust !) + linking: 2/10 files (20.00%) (rust !) + linking: 3/10 files (30.00%) (rust !) + linking: 4/10 files (40.00%) (rust !) + linking: 5/10 files (50.00%) (rust !) + linking: 6/10 files (60.00%) (rust !) + linking: 7/10 files (70.00%) (rust !) + linking: 8/10 files (80.00%) (rust !) + linking: 9/10 files (90.00%) (rust !) + linking: 10/10 files (100.00%) (rust !) + linked 10 files (rust !) updating the branch cache Create non-hardlinked clone r3: @@ -85,7 +101,10 @@ Repos r1 and r2 should now contain hardlinked files: $ nlinksdir r1/.hg/store + 1 r1/.hg/store/00changelog-b870a51b.nd (rust !) + 2 r1/.hg/store/00changelog.d 2 r1/.hg/store/00changelog.i + 1 r1/.hg/store/00changelog.n (rust !) 2 r1/.hg/store/00manifest.i 2 r1/.hg/store/data/d1/f2.i 2 r1/.hg/store/data/f1.i @@ -93,11 +112,15 @@ 1 r1/.hg/store/phaseroots 1 r1/.hg/store/requires 1 r1/.hg/store/undo + 1 r1/.hg/store/undo.backup.00changelog.n.bck (rust !) 1 r1/.hg/store/undo.backup.fncache.bck (repofncache !) 1 r1/.hg/store/undo.backupfiles $ nlinksdir r2/.hg/store + 1 r2/.hg/store/00changelog-b870a51b.nd (rust !) + 2 r2/.hg/store/00changelog.d 2 r2/.hg/store/00changelog.i + 1 r2/.hg/store/00changelog.n (rust !) 2 r2/.hg/store/00manifest.i 2 r2/.hg/store/data/d1/f2.i 2 r2/.hg/store/data/f1.i @@ -107,7 +130,10 @@ Repo r3 should not be hardlinked: $ nlinksdir r3/.hg/store + 1 r3/.hg/store/00changelog-88698448.nd (rust !) + 1 r3/.hg/store/00changelog.d 1 r3/.hg/store/00changelog.i + 1 r3/.hg/store/00changelog.n (rust !) 1 r3/.hg/store/00manifest.i 1 r3/.hg/store/data/d1/f2.i 1 r3/.hg/store/data/f1.i @@ -132,7 +158,10 @@ $ cd ../.. $ nlinksdir r3/.hg/store + 1 r3/.hg/store/00changelog-ea337809.nd (rust !) + 1 r3/.hg/store/00changelog.d 1 r3/.hg/store/00changelog.i + 1 r3/.hg/store/00changelog.n (rust !) 1 r3/.hg/store/00manifest.i 1 r3/.hg/store/data/d1/f2.d 1 r3/.hg/store/data/d1/f2.i @@ -141,6 +170,7 @@ 1 r3/.hg/store/phaseroots 1 r3/.hg/store/requires 1 r3/.hg/store/undo + 1 r3/.hg/store/undo.backup.00changelog.n.bck (rust !) 1 r3/.hg/store/undo.backupfiles Push to repo r1 should break up most hardlinks in r2: @@ -159,7 +189,10 @@ $ cd .. $ nlinksdir r2/.hg/store + 1 r2/.hg/store/00changelog-b870a51b.nd (rust !) + 1 r2/.hg/store/00changelog.d 1 r2/.hg/store/00changelog.i + 1 r2/.hg/store/00changelog.n (rust !) 1 r2/.hg/store/00manifest.i 1 r2/.hg/store/data/d1/f2.i 2 r2/.hg/store/data/f1.i @@ -184,7 +217,10 @@ $ cd .. $ nlinksdir r2/.hg/store + 1 r2/.hg/store/00changelog-b870a51b.nd (rust !) + 1 r2/.hg/store/00changelog.d 1 r2/.hg/store/00changelog.i + 1 r2/.hg/store/00changelog.n (rust !) 1 r2/.hg/store/00manifest.i 1 r2/.hg/store/data/d1/f2.i 1 r2/.hg/store/data/f1.i @@ -241,7 +277,10 @@ 2 r4/.hg/hgrc 2 r4/.hg/last-message.txt 2 r4/.hg/requires + 2 r4/.hg/store/00changelog-7f2eb713.nd (rust !) + 2 r4/.hg/store/00changelog.d 2 r4/.hg/store/00changelog.i + 2 r4/.hg/store/00changelog.n (rust !) 2 r4/.hg/store/00manifest.i 2 r4/.hg/store/data/d1/f2.d 2 r4/.hg/store/data/d1/f2.i @@ -251,6 +290,7 @@ 2 r4/.hg/store/phaseroots 2 r4/.hg/store/requires 2 r4/.hg/store/undo + 2 r4/.hg/store/undo.backup.00changelog.n.bck (rust !) 2 r4/.hg/store/undo.backupfiles [24] r4/.hg/undo.backup.branch.bck (re) 2 r4/\.hg/undo\.backup\.dirstate.bck (re) @@ -294,7 +334,10 @@ 2 r4/.hg/hgrc 2 r4/.hg/last-message.txt 2 r4/.hg/requires + 2 r4/.hg/store/00changelog-7f2eb713.nd (rust !) + 2 r4/.hg/store/00changelog.d 2 r4/.hg/store/00changelog.i + 2 r4/.hg/store/00changelog.n (rust !) 2 r4/.hg/store/00manifest.i 2 r4/.hg/store/data/d1/f2.d 2 r4/.hg/store/data/d1/f2.i @@ -304,6 +347,7 @@ 2 r4/.hg/store/phaseroots 2 r4/.hg/store/requires 2 r4/.hg/store/undo + 2 r4/.hg/store/undo.backup.00changelog.n.bck (rust !) 2 r4/.hg/store/undo.backupfiles [23] r4/.hg/undo.backup.branch.bck (re) 2 r4/\.hg/undo\.backup\.dirstate.bck (re)
--- a/tests/test-hook.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-hook.t Fri Dec 15 11:10:24 2023 +0100 @@ -458,14 +458,18 @@ (Check that no 'changelog.i.a' file were left behind) $ ls -1 .hg/store/ + 00changelog-1335303a.nd (rust !) + 00changelog.d 00changelog.i + 00changelog.n (rust !) 00manifest.i data - fncache (repofncache !) + fncache phaseroots requires undo - undo.backup.fncache.bck (repofncache !) + undo.backup.00changelog.n.bck (rust !) + undo.backup.fncache.bck undo.backupfiles
--- a/tests/test-http-bad-server.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-http-bad-server.t Fri Dec 15 11:10:24 2023 +0100 @@ -725,6 +725,8 @@ $ hg clone http://localhost:$HGPORT/ clone requesting all changes adding changesets + transaction abort! + rollback completed abort: HTTP request error (incomplete response) (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator) [255] @@ -757,6 +759,8 @@ $ hg clone http://localhost:$HGPORT/ clone requesting all changes adding changesets + transaction abort! + rollback completed abort: HTTP request error (incomplete response*) (glob) (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator) [255] @@ -791,6 +795,8 @@ $ hg clone http://localhost:$HGPORT/ clone requesting all changes adding changesets + transaction abort! + rollback completed abort: HTTP request error (incomplete response) (this may be an intermittent network failure; if the error persists, consider contacting the network or server operator) [255]
--- a/tests/test-http-bundle1.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-http-bundle1.t Fri Dec 15 11:10:24 2023 +0100 @@ -38,8 +38,9 @@ #if no-reposimplestore $ hg clone --stream http://localhost:$HGPORT/ copy 2>&1 streaming all changes - 6 files to transfer, 606 bytes of data (no-zstd !) - 6 files to transfer, 608 bytes of data (zstd !) + 7 files to transfer, 606 bytes of data (no-zstd !) + 7 files to transfer, 608 bytes of data (zstd no-rust !) + 9 files to transfer, 734 bytes of data (zstd rust !) transferred * bytes in * seconds (*/sec) (glob) searching for changes no changes found @@ -218,9 +219,10 @@ #if no-reposimplestore $ hg clone http://user:pass@localhost:$HGPORT2/ dest 2>&1 streaming all changes - 7 files to transfer, 916 bytes of data (no-zstd !) - 7 files to transfer, 919 bytes of data (zstd !) - transferred * bytes in * seconds (*/sec) (glob) + 8 files to transfer, 916 bytes of data (no-zstd !) + 8 files to transfer, 919 bytes of data (zstd no-rust !) + 10 files to transfer, 1.02 KB of data (zstd rust !) + transferred * in * seconds (*/sec) (glob) searching for changes no changes found updating to branch default @@ -378,7 +380,8 @@ streaming all changes * files to transfer, * of data (glob) transferred 1.36 KB in * seconds (* */sec) (glob) (no-zstd !) - transferred 1.38 KB in * seconds (* */sec) (glob) (zstd !) + transferred 1.38 KB in * seconds (* */sec) (glob) (zstd no-rust !) + transferred 1.56 KB in * seconds (* */sec) (glob) (zstd rust !) searching for changes no changes found #endif
--- a/tests/test-http-proxy.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-http-proxy.t Fri Dec 15 11:10:24 2023 +0100 @@ -16,7 +16,8 @@ $ http_proxy=http://localhost:$HGPORT1/ hg --config http_proxy.always=True clone --stream http://localhost:$HGPORT/ b streaming all changes - 6 files to transfer, 412 bytes of data (reporevlogstore !) + 7 files to transfer, 412 bytes of data (reporevlogstore no-rust !) + 9 files to transfer, 538 bytes of data (reporevlogstore rust !) 4 files to transfer, 330 bytes of data (reposimplestore !) transferred * bytes in * seconds (*/sec) (glob) updating to branch default
--- a/tests/test-http.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-http.t Fri Dec 15 11:10:24 2023 +0100 @@ -29,8 +29,9 @@ #if no-reposimplestore $ hg clone --stream http://localhost:$HGPORT/ copy 2>&1 streaming all changes - 9 files to transfer, 715 bytes of data (no-zstd !) - 9 files to transfer, 717 bytes of data (zstd !) + 10 files to transfer, 715 bytes of data (no-zstd !) + 10 files to transfer, 717 bytes of data (zstd no-rust !) + 12 files to transfer, 843 bytes of data (zstd rust !) transferred * bytes in * seconds (*/sec) (glob) updating to branch default 4 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -254,7 +255,8 @@ #if no-reposimplestore $ hg clone http://user:pass@localhost:$HGPORT2/ dest 2>&1 streaming all changes - 10 files to transfer, 1.01 KB of data + 11 files to transfer, 1.01 KB of data (no-rust !) + 13 files to transfer, 1.13 KB of data (rust !) transferred * KB in * seconds (*/sec) (glob) updating to branch default 5 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- a/tests/test-inherit-mode.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-inherit-mode.t Fri Dec 15 11:10:24 2023 +0100 @@ -78,7 +78,10 @@ 00660 ./.hg/last-message.txt 00600 ./.hg/requires 00770 ./.hg/store/ + 00660 ./.hg/store/00changelog-150e1cfc.nd (rust !) + 00660 ./.hg/store/00changelog.d 00660 ./.hg/store/00changelog.i + 00660 ./.hg/store/00changelog.n (rust !) 00660 ./.hg/store/00manifest.i 00770 ./.hg/store/data/ 00770 ./.hg/store/data/dir/ @@ -137,7 +140,10 @@ 00660 ../push/.hg/cache/rbc-revs-v1 00660 ../push/.hg/requires 00770 ../push/.hg/store/ + 00660 ../push/.hg/store/00changelog-b870a51b.nd (rust !) + 00660 ../push/.hg/store/00changelog.d 00660 ../push/.hg/store/00changelog.i + 00660 ../push/.hg/store/00changelog.n (rust !) 00660 ../push/.hg/store/00manifest.i 00770 ../push/.hg/store/data/ 00770 ../push/.hg/store/data/dir/
--- a/tests/test-issue6528.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-issue6528.t Fri Dec 15 11:10:24 2023 +0100 @@ -367,7 +367,7 @@ $ cd repo-to-fix-not-inline $ tar -xf - < "$TESTDIR"/bundles/issue6528.tar $ echo b >> b.txt - $ hg commit -qm "inline -> separate" + $ hg commit -qm "inline -> separate" --traceback $ find .hg -name *b.txt.d .hg/store/data/b.txt.d
--- a/tests/test-journal-exists.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-journal-exists.t Fri Dec 15 11:10:24 2023 +0100 @@ -47,6 +47,8 @@ $ hg -R foo unbundle repo.hg adding changesets + transaction abort! + rollback completed abort: $EACCES$: '$TESTTMP/repo/foo/.hg/store/.00changelog.i-*' (glob) [255]
--- a/tests/test-lfs-test-server.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-lfs-test-server.t Fri Dec 15 11:10:24 2023 +0100 @@ -908,7 +908,8 @@ $ cd $TESTTMP $ hg --debug clone test test2 http auth: user foo, password *** - linked 6 files + linked 7 files (no-rust !) + linked 9 files (rust !) http auth: user foo, password *** updating to branch default resolving manifests
--- a/tests/test-narrow-clone-stream.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-narrow-clone-stream.t Fri Dec 15 11:10:24 2023 +0100 @@ -80,7 +80,10 @@ Making sure store has the required files $ ls .hg/store/ + 00changelog-????????.nd (glob) (rust !) + 00changelog.d 00changelog.i + 00changelog.n (rust !) 00manifest.i data fncache (tree !)
--- a/tests/test-parseindex.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-parseindex.t Fri Dec 15 11:10:24 2023 +0100 @@ -145,8 +145,13 @@ > ] > for n, p in poisons: > # corrupt p1 at rev0 and p2 at rev1 - > d = data[:24] + p + data[28:127 + 28] + p + data[127 + 32:] - > open(n + b"/.hg/store/00changelog.i", "wb").write(d) + > rev_0 = data[:64] + > rev_1 = data[64:] + > altered_rev_0 = rev_0[:24] + p + rev_0[24 + 4:] + > altered_rev_1 = rev_1[:28] + p + rev_1[28 + 4:] + > new_data = altered_rev_0 + altered_rev_1 + > with open(n + b"/.hg/store/00changelog.i", "wb") as f: + > f.write(new_data) > EOF $ hg -R limit debugrevlogindex -f1 -c
--- a/tests/test-racy-mutations.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-racy-mutations.t Fri Dec 15 11:10:24 2023 +0100 @@ -110,7 +110,7 @@ note: use 'hg commit --logfile .hg/last-message.txt --edit' to reuse it transaction abort! rollback completed - abort: 00changelog.i: file cursor at position 249, expected 121 + abort: 00changelog.i: file cursor at position 128, expected 64 And no corruption in the changelog. $ hg debugrevlogindex -c rev linkrev nodeid p1 p2
--- a/tests/test-relink.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-relink.t Fri Dec 15 11:10:24 2023 +0100 @@ -80,17 +80,19 @@ $ hg relink --debug --config progress.debug=true | fix_path relinking $TESTTMP/repo/.hg/store to $TESTTMP/clone/.hg/store tip has 2 files, estimated total number of files: 3 - collecting: 00changelog.i 1/3 files (33.33%) - collecting: 00manifest.i 2/3 files (66.67%) - collecting: a.i 3/3 files (100.00%) - collecting: b.i 4/3 files (133.33%) - collecting: dummy.i 5/3 files (166.67%) - collected 5 candidate storage files + collecting: 00changelog.d 1/3 files (33.33%) + collecting: 00changelog.i 2/3 files (66.67%) + collecting: 00manifest.i 3/3 files (100.00%) + collecting: a.i 4/3 files (133.33%) + collecting: b.i 5/3 files (166.67%) + collecting: dummy.i 6/3 files (200.00%) + collected 6 candidate storage files + not linkable: 00changelog.d not linkable: 00changelog.i not linkable: 00manifest.i - pruning: data/a.i 3/5 files (60.00%) + pruning: data/a.i 4/6 files (66.67%) not linkable: data/b.i - pruning: data/dummy.i 5/5 files (100.00%) + pruning: data/dummy.i 6/6 files (100.00%) pruned down to 2 probably relinkable files relinking: data/a.i 1/2 files (50.00%) not linkable: data/dummy.i
--- a/tests/test-remotefilelog-bgprefetch.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-bgprefetch.t Fri Dec 15 11:10:24 2023 +0100 @@ -29,10 +29,12 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 2 files to transfer, 776 bytes of data (no-zstd !) + 3 files to transfer, 776 bytes of data (no-zstd !) transferred 776 bytes in * seconds (*/sec) (glob) (no-zstd !) - 2 files to transfer, 784 bytes of data (zstd !) - transferred 784 bytes in * seconds (* */sec) (glob) (zstd !) + 3 files to transfer, 784 bytes of data (zstd no-rust !) + transferred 784 bytes in * seconds (*/sec) (glob) (zstd no-rust !) + 5 files to transfer, 910 bytes of data (rust !) + transferred 910 bytes in * seconds (*/sec) (glob) (rust !) searching for changes no changes found
--- a/tests/test-remotefilelog-clone-tree.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-clone-tree.t Fri Dec 15 11:10:24 2023 +0100 @@ -20,8 +20,10 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 4 files to transfer, 449 bytes of data - transferred 449 bytes in * seconds (*/sec) (glob) + 5 files to transfer, 449 bytes of data (no-rust !) + transferred 449 bytes in * seconds (*/sec) (glob) (no-rust !) + 7 files to transfer, 575 bytes of data (rust !) + transferred 575 bytes in *.* seconds (*) (glob) (rust !) searching for changes no changes found $ cd shallow @@ -65,8 +67,10 @@ $ hgcloneshallow ssh://user@dummy/shallow shallow2 --noupdate streaming all changes - 5 files to transfer, 1008 bytes of data - transferred 1008 bytes in * seconds (*/sec) (glob) + 6 files to transfer, 1008 bytes of data (no-rust !) + transferred 1008 bytes in * seconds (*/sec) (glob) (no-rust !) + 8 files to transfer, 1.11 KB of data (rust !) + transferred 1.11 KB in * seconds (* */sec) (glob) (rust !) searching for changes no changes found $ cd shallow2
--- a/tests/test-remotefilelog-clone.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-clone.t Fri Dec 15 11:10:24 2023 +0100 @@ -17,8 +17,10 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 2 files to transfer, 227 bytes of data - transferred 227 bytes in * seconds (*/sec) (glob) + 3 files to transfer, 227 bytes of data (no-rust !) + transferred 227 bytes in * seconds (*/sec) (glob) (no-rust !) + 5 files to transfer, 353 bytes of data (rust !) + transferred 353 bytes in *.* seconds (*) (glob) (rust !) searching for changes no changes found $ cd shallow @@ -55,8 +57,10 @@ $ hgcloneshallow ssh://user@dummy/shallow shallow2 --noupdate streaming all changes - 3 files to transfer, 564 bytes of data - transferred 564 bytes in * seconds (*/sec) (glob) + 4 files to transfer, 564 bytes of data (no-rust !) + transferred 564 bytes in * seconds (*/sec) (glob) (no-rust !) + 6 files to transfer, 690 bytes of data (rust !) + transferred 690 bytes in * seconds (*/sec) (glob) (rust !) searching for changes no changes found $ cd shallow2
--- a/tests/test-remotefilelog-log.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-log.t Fri Dec 15 11:10:24 2023 +0100 @@ -20,8 +20,10 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 2 files to transfer, 473 bytes of data - transferred 473 bytes in * seconds (*/sec) (glob) + 3 files to transfer, 473 bytes of data (no-rust !) + transferred 473 bytes in * seconds (*/sec) (glob) (no-rust !) + 5 files to transfer, 599 bytes of data (rust !) + transferred 599 bytes in * seconds (*/sec) (glob) (rust !) searching for changes no changes found $ cd shallow
--- a/tests/test-remotefilelog-partial-shallow.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-partial-shallow.t Fri Dec 15 11:10:24 2023 +0100 @@ -18,10 +18,12 @@ $ hg clone --shallow ssh://user@dummy/master shallow --noupdate --config remotefilelog.includepattern=foo streaming all changes - 3 files to transfer, 336 bytes of data (no-zstd !) + 4 files to transfer, 336 bytes of data (no-zstd !) transferred 336 bytes in * seconds (* */sec) (glob) (no-zstd !) - 3 files to transfer, 338 bytes of data (zstd !) - transferred 338 bytes in * seconds (* */sec) (glob) (zstd !) + 4 files to transfer, 338 bytes of data (zstd no-rust !) + transferred 338 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 6 files to transfer, 464 bytes of data (zstd rust !) + transferred 464 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found $ cat >> shallow/.hg/hgrc <<EOF
--- a/tests/test-remotefilelog-prefetch.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-prefetch.t Fri Dec 15 11:10:24 2023 +0100 @@ -22,10 +22,12 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 2 files to transfer, 528 bytes of data (no-zstd !) + 3 files to transfer, 528 bytes of data (no-zstd !) transferred 528 bytes in * seconds (* */sec) (glob) (no-zstd !) - 2 files to transfer, 532 bytes of data (zstd !) - transferred 532 bytes in * seconds (* */sec) (glob) (zstd !) + 3 files to transfer, 532 bytes of data (zstd no-rust !) + transferred 532 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 5 files to transfer, 658 bytes of data (zstd rust !) + transferred 658 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found $ cd shallow @@ -166,10 +168,12 @@ $ hgcloneshallow ssh://user@dummy/master shallow2 streaming all changes - 2 files to transfer, 528 bytes of data (no-zstd !) + 3 files to transfer, 528 bytes of data (no-zstd !) transferred 528 bytes in * seconds * (glob) (no-zstd !) - 2 files to transfer, 532 bytes of data (zstd !) - transferred 532 bytes in * seconds (* */sec) (glob) (zstd !) + 3 files to transfer, 532 bytes of data (zstd no-rust !) + transferred 532 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 5 files to transfer, 658 bytes of data (zstd rust !) + transferred 658 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found updating to branch default
--- a/tests/test-remotefilelog-sparse.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-sparse.t Fri Dec 15 11:10:24 2023 +0100 @@ -22,10 +22,12 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 2 files to transfer, 527 bytes of data (no-zstd !) + 3 files to transfer, 527 bytes of data (no-zstd !) transferred 527 bytes in * seconds (* */sec) (glob) (no-zstd !) - 2 files to transfer, 534 bytes of data (zstd !) - transferred 534 bytes in * seconds (* */sec) (glob) (zstd !) + 3 files to transfer, 534 bytes of data (zstd no-rust !) + transferred 534 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 5 files to transfer, 660 bytes of data (zstd rust !) + transferred 660 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found $ cd shallow @@ -75,10 +77,12 @@ $ hgcloneshallow ssh://user@dummy/master shallow2 streaming all changes - 2 files to transfer, 527 bytes of data (no-zstd !) + 3 files to transfer, 527 bytes of data (no-zstd !) transferred 527 bytes in * seconds (*) (glob) (no-zstd !) - 2 files to transfer, 534 bytes of data (zstd !) - transferred 534 bytes in * seconds (* */sec) (glob) (zstd !) + 3 files to transfer, 534 bytes of data (zstd no-rust !) + transferred 534 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 5 files to transfer, 660 bytes of data (zstd rust !) + transferred 660 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found updating to branch default
--- a/tests/test-remotefilelog-tags.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-tags.t Fri Dec 15 11:10:24 2023 +0100 @@ -18,10 +18,12 @@ $ hg clone --shallow ssh://user@dummy/master shallow --noupdate --config remotefilelog.excludepattern=.hgtags streaming all changes - 3 files to transfer, 662 bytes of data (no-zstd !) + 4 files to transfer, 662 bytes of data (no-zstd !) transferred 662 bytes in * seconds (* */sec) (glob) (no-zstd !) - 3 files to transfer, 665 bytes of data (zstd !) - transferred 665 bytes in * seconds (* */sec) (glob) (zstd !) + 4 files to transfer, 665 bytes of data (zstd no-rust !) + transferred 665 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 6 files to transfer, 791 bytes of data (zstd rust !) + transferred 791 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found $ cat >> shallow/.hg/hgrc <<EOF
--- a/tests/test-remotefilelog-wireproto.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-remotefilelog-wireproto.t Fri Dec 15 11:10:24 2023 +0100 @@ -25,8 +25,10 @@ $ hgcloneshallow ssh://user@dummy/master shallow --noupdate streaming all changes - 2 files to transfer, 908 bytes of data - transferred 908 bytes in * seconds (*/sec) (glob) + 3 files to transfer, 908 bytes of data (no-rust !) + transferred 908 bytes in * seconds (*/sec) (glob) (no-rust !) + 5 files to transfer, 1.01 KB of data (rust !) + transferred 1.01 KB in * seconds (* */sec) (glob) (rust !) searching for changes no changes found $ cd shallow
--- a/tests/test-repair-strip.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-repair-strip.t Fri Dec 15 11:10:24 2023 +0100 @@ -71,6 +71,7 @@ 2 warnings encountered! 2 integrity errors encountered! % journal contents + 00changelog.d 00changelog.i 00manifest.i data/b.i @@ -133,6 +134,7 @@ 7 integrity errors encountered! (first damaged changeset appears to be 3) % journal contents + 00changelog.d 00changelog.i 00manifest.i data/b.i
--- a/tests/test-revlog-mmapindex.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-revlog-mmapindex.t Fri Dec 15 11:10:24 2023 +0100 @@ -10,10 +10,10 @@ > ) > > def extsetup(ui): - > def mmapread(orig, fp): + > def mmapread(orig, fp, *args): > ui.write(b"mmapping %s\n" % pycompat.bytestr(fp.name)) > ui.flush() - > return orig(fp) + > return orig(fp, *args) > > extensions.wrapfunction(util, 'mmapread', mmapread) > EOF @@ -38,6 +38,7 @@ mmap index which is now more than 4k long $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=4k mmapping $TESTTMP/a/.hg/store/00changelog.i + mmapping $TESTTMP/a/.hg/store/00changelog-????????.nd (glob) (rust !) 100 99 98 @@ -46,6 +47,7 @@ do not mmap index which is still less than 32k $ hg log -l 5 -T '{rev}\n' --config experimental.mmapindexthreshold=32k + mmapping $TESTTMP/a/.hg/store/00changelog-????????.nd (glob) (rust !) 100 99 98
--- a/tests/test-ssh-bundle1.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-ssh-bundle1.t Fri Dec 15 11:10:24 2023 +0100 @@ -62,10 +62,12 @@ $ hg clone --stream ssh://user@dummy/remote local-stream streaming all changes - 4 files to transfer, 602 bytes of data (no-zstd !) + 5 files to transfer, 602 bytes of data (no-zstd !) transferred 602 bytes in * seconds (*) (glob) (no-zstd !) - 4 files to transfer, 621 bytes of data (zstd !) - transferred 621 bytes in * seconds (* */sec) (glob) (zstd !) + 5 files to transfer, 621 bytes of data (zstd no-rust !) + transferred 621 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 7 files to transfer, 747 bytes of data (zstd rust !) + transferred 747 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found updating to branch default @@ -81,10 +83,12 @@ $ hg -R local-stream book mybook $ hg clone --stream ssh://user@dummy/local-stream stream2 streaming all changes - 4 files to transfer, 602 bytes of data (no-zstd !) + 5 files to transfer, 602 bytes of data (no-zstd !) transferred 602 bytes in * seconds (*) (glob) (no-zstd !) - 4 files to transfer, 621 bytes of data (zstd !) - transferred 621 bytes in * seconds (* */sec) (glob) (zstd !) + 5 files to transfer, 621 bytes of data (zstd no-rust !) + transferred 621 bytes in * seconds (* */sec) (glob) (zstd no-rust !) + 7 files to transfer, 747 bytes of data (zstd rust !) + transferred 747 bytes in * seconds (*/sec) (glob) (zstd rust !) searching for changes no changes found updating to branch default
--- a/tests/test-ssh.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-ssh.t Fri Dec 15 11:10:24 2023 +0100 @@ -54,9 +54,10 @@ $ hg clone --stream ssh://user@dummy/remote local-stream streaming all changes - 8 files to transfer, 827 bytes of data (no-zstd !) + 9 files to transfer, 827 bytes of data (no-zstd !) transferred 827 bytes in * seconds (*) (glob) (no-zstd !) - 8 files to transfer, 846 bytes of data (zstd !) + 9 files to transfer, 846 bytes of data (zstd no-rust !) + 11 files to transfer, 972 bytes of data (zstd rust !) transferred * bytes in * seconds (* */sec) (glob) (zstd !) updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved @@ -71,7 +72,8 @@ $ hg -R local-stream book mybook $ hg clone --stream ssh://user@dummy/local-stream stream2 streaming all changes - 15 files to transfer, * of data (glob) + 16 files to transfer, * of data (glob) (no-rust !) + 18 files to transfer, * of data (glob) (rust !) transferred * in * seconds (*) (glob) updating to branch default 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- a/tests/test-static-http.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-static-http.t Fri Dec 15 11:10:24 2023 +0100 @@ -225,6 +225,7 @@ /.hg/cache/hgtagsfnodes1 /.hg/dirstate /.hg/requires + /.hg/store/00changelog.d /.hg/store/00changelog.i /.hg/store/00manifest.i /.hg/store/data/%7E2ehgsub.i (no-py37 !) @@ -252,6 +253,7 @@ /remote-with-names/.hg/dirstate /remote-with-names/.hg/localtags /remote-with-names/.hg/requires + /remote-with-names/.hg/store/00changelog.d /remote-with-names/.hg/store/00changelog.i /remote-with-names/.hg/store/00manifest.i /remote-with-names/.hg/store/data/%7E2ehgtags.i (no-py37 !) @@ -270,6 +272,7 @@ /remote/.hg/dirstate /remote/.hg/localtags /remote/.hg/requires + /remote/.hg/store/00changelog.d /remote/.hg/store/00changelog.i /remote/.hg/store/00manifest.i /remote/.hg/store/data/%7E2edotfile%20with%20spaces.i (no-py37 !) @@ -292,6 +295,7 @@ /sub/.hg/cache/hgtagsfnodes1 /sub/.hg/dirstate /sub/.hg/requires + /sub/.hg/store/00changelog.d /sub/.hg/store/00changelog.i /sub/.hg/store/00manifest.i /sub/.hg/store/data/%7E2ehgtags.i (no-py37 !)
--- a/tests/test-stream-bundle-v2.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-stream-bundle-v2.t Fri Dec 15 11:10:24 2023 +0100 @@ -60,9 +60,9 @@ $ hg bundle -a --type="none-v2;stream=$stream_version" bundle.hg $ hg debugbundle bundle.hg Stream params: {} - stream2 -- {bytecount: 1693, filecount: 11, requirements: generaldelta%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v2 no-zstd !) - stream2 -- {bytecount: 1693, filecount: 11, requirements: generaldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v2 zstd no-rust !) - stream2 -- {bytecount: 1693, filecount: 11, requirements: generaldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v2 rust !) + stream2 -- {bytecount: 1693, filecount: 12, requirements: generaldelta%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v2 no-zstd !) + stream2 -- {bytecount: 1693, filecount: 12, requirements: generaldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v2 zstd no-rust !) + stream2 -- {bytecount: 1819, filecount: 14, requirements: generaldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v2 rust !) stream3-exp -- {requirements: generaldelta%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v3 no-zstd !) stream3-exp -- {requirements: generaldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v3 zstd no-rust !) stream3-exp -- {requirements: generaldelta%2Crevlog-compression-zstd%2Crevlogv1%2Csparserevlog} (mandatory: True) (stream-v3 rust !) @@ -97,7 +97,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "stream2" (params: 3 mandatory) supported applying stream bundle - 11 files to transfer, 1.65 KB of data + 12 files to transfer, 1.65 KB of data (no-rust !) + 14 files to transfer, 1.78 KB of data (rust !) starting 4 threads for background file closing (?) starting 4 threads for background file closing (?) adding [s] data/A.i (66 bytes) @@ -107,12 +108,17 @@ adding [s] data/E.i (66 bytes) adding [s] phaseroots (43 bytes) adding [s] 00manifest.i (584 bytes) - adding [s] 00changelog.i (595 bytes) + adding [s] 00changelog.n (62 bytes) (rust !) + adding [s] 00changelog-b875dfc5.nd (64 bytes) (rust !) + adding [s] 00changelog.d (275 bytes) + adding [s] 00changelog.i (320 bytes) adding [c] branch2-served (94 bytes) adding [c] rbc-names-v1 (7 bytes) adding [c] rbc-revs-v1 (40 bytes) - transferred 1.65 KB in * seconds (* */sec) (glob) - bundle2-input-part: total payload size 1840 + transferred 1.65 KB in * seconds (* */sec) (glob) (no-rust !) + bundle2-input-part: total payload size 1857 (no-rust !) + transferred 1.78 KB in * seconds (* */sec) (glob) (rust !) + bundle2-input-part: total payload size 2025 (rust !) bundle2-input-bundle: 1 parts total updating the branch cache finished applying clone bundle @@ -154,7 +160,8 @@ bundle2-input-bundle: with-transaction bundle2-input-part: "stream2" (params: 3 mandatory) supported applying stream bundle - 11 files to transfer, 1.65 KB of data + 12 files to transfer, 1.65 KB of data (no-rust !) + 14 files to transfer, 1.78 KB of data (rust !) starting 4 threads for background file closing (?) starting 4 threads for background file closing (?) adding [s] data/A.i (66 bytes) @@ -164,12 +171,17 @@ adding [s] data/E.i (66 bytes) adding [s] phaseroots (43 bytes) adding [s] 00manifest.i (584 bytes) - adding [s] 00changelog.i (595 bytes) + adding [s] 00changelog.n (62 bytes) (rust !) + adding [s] 00changelog-b875dfc5.nd (64 bytes) (rust !) + adding [s] 00changelog.d (275 bytes) + adding [s] 00changelog.i (320 bytes) adding [c] branch2-served (94 bytes) adding [c] rbc-names-v1 (7 bytes) adding [c] rbc-revs-v1 (40 bytes) - transferred 1.65 KB in * seconds (* */sec) (glob) - bundle2-input-part: total payload size 1840 + transferred 1.65 KB in * seconds (* */sec) (glob) (no-rust !) + bundle2-input-part: total payload size 1857 (no-rust !) + transferred 1.78 KB in * seconds (* */sec) (glob) (rust !) + bundle2-input-part: total payload size 2025 (rust !) bundle2-input-bundle: 1 parts total updating the branch cache finished applying clone bundle @@ -224,12 +236,17 @@ adding [s] data/E.i (66 bytes) adding [s] phaseroots (43 bytes) adding [s] 00manifest.i (584 bytes) - adding [s] 00changelog.i (595 bytes) + adding [s] 00changelog.n (62 bytes) (rust !) + adding [s] 00changelog-b875dfc5.nd (64 bytes) (rust !) + adding [s] 00changelog.d (275 bytes) + adding [s] 00changelog.i (320 bytes) adding [c] branch2-served (94 bytes) adding [c] rbc-names-v1 (7 bytes) adding [c] rbc-revs-v1 (40 bytes) - transferred 1.65 KB in * seconds (* */sec) (glob) - bundle2-input-part: total payload size 1852 + transferred 1.65 KB in * seconds (* */sec) (glob) (no-rust !) + bundle2-input-part: total payload size 1869 (no-rust !) + transferred 1.78 KB in * seconds (* */sec) (glob) (rust !) + bundle2-input-part: total payload size 2037 (rust !) bundle2-input-bundle: 1 parts total updating the branch cache finished applying clone bundle @@ -281,12 +298,17 @@ adding [s] data/E.i (66 bytes) adding [s] phaseroots (43 bytes) adding [s] 00manifest.i (584 bytes) - adding [s] 00changelog.i (595 bytes) + adding [s] 00changelog.n (62 bytes) (rust !) + adding [s] 00changelog-b875dfc5.nd (64 bytes) (rust !) + adding [s] 00changelog.d (275 bytes) + adding [s] 00changelog.i (320 bytes) adding [c] branch2-served (94 bytes) adding [c] rbc-names-v1 (7 bytes) adding [c] rbc-revs-v1 (40 bytes) - transferred 1.65 KB in * seconds (* */sec) (glob) - bundle2-input-part: total payload size 1852 + transferred 1.65 KB in * seconds (* */sec) (glob) (no-rust !) + bundle2-input-part: total payload size 1869 (no-rust !) + transferred 1.78 KB in * seconds (* */sec) (glob) (rust !) + bundle2-input-part: total payload size 2037 (rust !) bundle2-input-bundle: 1 parts total updating the branch cache finished applying clone bundle
--- a/tests/test-subrepo-deep-nested-change.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-subrepo-deep-nested-change.t Fri Dec 15 11:10:24 2023 +0100 @@ -28,12 +28,22 @@ $ echo "sub2 = ../sub2" > sub1/.hgsub $ hg clone sub2 sub1/sub2 \r (no-eol) (esc) - linking [======> ] 1/6\r (no-eol) (esc) - linking [==============> ] 2/6\r (no-eol) (esc) - linking [=====================> ] 3/6\r (no-eol) (esc) - linking [=============================> ] 4/6\r (no-eol) (esc) - linking [====================================> ] 5/6\r (no-eol) (esc) - linking [============================================>] 6/6\r (no-eol) (esc) + linking [=====> ] 1/7\r (no-eol) (esc) (no-rust !) + linking [===========> ] 2/7\r (no-eol) (esc) (no-rust !) + linking [==================> ] 3/7\r (no-eol) (esc) (no-rust !) + linking [========================> ] 4/7\r (no-eol) (esc) (no-rust !) + linking [===============================> ] 5/7\r (no-eol) (esc) (no-rust !) + linking [=====================================> ] 6/7\r (no-eol) (esc) (no-rust !) + linking [============================================>] 7/7\r (no-eol) (esc) (no-rust !) + linking [====> ] 1/9\r (no-eol) (esc) (rust !) + linking [=========> ] 2/9\r (no-eol) (esc) (rust !) + linking [==============> ] 3/9\r (no-eol) (esc) (rust !) + linking [===================> ] 4/9\r (no-eol) (esc) (rust !) + linking [========================> ] 5/9\r (no-eol) (esc) (rust !) + linking [=============================> ] 6/9\r (no-eol) (esc) (rust !) + linking [==================================> ] 7/9\r (no-eol) (esc) (rust !) + linking [=======================================> ] 8/9\r (no-eol) (esc) (rust !) + linking [============================================>] 9/9\r (no-eol) (esc) (rust !) \r (no-eol) (esc) \r (no-eol) (esc) updating [===========================================>] 1/1\r (no-eol) (esc) @@ -50,32 +60,70 @@ $ hg init main $ echo main > main/main $ echo "sub1 = ../sub1" > main/.hgsub + +#if rust $ hg clone sub1 main/sub1 \r (no-eol) (esc) - linking [====> ] 1/8\r (no-eol) (esc) - linking [==========> ] 2/8\r (no-eol) (esc) - linking [===============> ] 3/8\r (no-eol) (esc) - linking [=====================> ] 4/8\r (no-eol) (esc) - linking [===========================> ] 5/8\r (no-eol) (esc) - linking [================================> ] 6/8\r (no-eol) (esc) - linking [======================================> ] 7/8\r (no-eol) (esc) - linking [============================================>] 8/8\r (no-eol) (esc) + linking [==> ] 1/11\r (no-eol) (esc) + linking [======> ] 2/11\r (no-eol) (esc) + linking [==========> ] 3/11\r (no-eol) (esc) + linking [==============> ] 4/11\r (no-eol) (esc) + linking [==================> ] 5/11\r (no-eol) (esc) + linking [======================> ] 6/11\r (no-eol) (esc) + linking [==========================> ] 7/11\r (no-eol) (esc) + linking [==============================> ] 8/11\r (no-eol) (esc) + linking [==================================> ] 9/11\r (no-eol) (esc) + linking [======================================> ] 10/11\r (no-eol) (esc) + linking [==========================================>] 11/11\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) updating [===========================================>] 3/3\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) - linking [======> ] 1/6\r (no-eol) (esc) - linking [==============> ] 2/6\r (no-eol) (esc) - linking [=====================> ] 3/6\r (no-eol) (esc) - linking [=============================> ] 4/6\r (no-eol) (esc) - linking [====================================> ] 5/6\r (no-eol) (esc) - linking [============================================>] 6/6\r (no-eol) (esc) + linking [====> ] 1/9\r (no-eol) (esc) + linking [=========> ] 2/9\r (no-eol) (esc) + linking [==============> ] 3/9\r (no-eol) (esc) + linking [===================> ] 4/9\r (no-eol) (esc) + linking [========================> ] 5/9\r (no-eol) (esc) + linking [=============================> ] 6/9\r (no-eol) (esc) + linking [==================================> ] 7/9\r (no-eol) (esc) + linking [=======================================> ] 8/9\r (no-eol) (esc) + linking [============================================>] 9/9\r (no-eol) (esc) updating [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) updating to branch default cloning subrepo sub2 from $TESTTMP/sub2 3 files updated, 0 files merged, 0 files removed, 0 files unresolved +#else + $ hg clone sub1 main/sub1 + \r (no-eol) (esc) + linking [====> ] 1/9\r (no-eol) (esc) + linking [=========> ] 2/9\r (no-eol) (esc) + linking [==============> ] 3/9\r (no-eol) (esc) + linking [===================> ] 4/9\r (no-eol) (esc) + linking [========================> ] 5/9\r (no-eol) (esc) + linking [=============================> ] 6/9\r (no-eol) (esc) + linking [==================================> ] 7/9\r (no-eol) (esc) + linking [=======================================> ] 8/9\r (no-eol) (esc) + linking [============================================>] 9/9\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + updating [===========================================>] 3/3\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + linking [=====> ] 1/7\r (no-eol) (esc) + linking [===========> ] 2/7\r (no-eol) (esc) + linking [==================> ] 3/7\r (no-eol) (esc) + linking [========================> ] 4/7\r (no-eol) (esc) + linking [===============================> ] 5/7\r (no-eol) (esc) + linking [=====================================> ] 6/7\r (no-eol) (esc) + linking [============================================>] 7/7\r (no-eol) (esc) + updating [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + updating to branch default + cloning subrepo sub2 from $TESTTMP/sub2 + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved +#endif $ hg add -R main adding main/.hgsub adding main/main @@ -152,44 +200,106 @@ Clone main +#if rust $ hg --config extensions.largefiles= clone main cloned \r (no-eol) (esc) - linking [====> ] 1/8\r (no-eol) (esc) - linking [==========> ] 2/8\r (no-eol) (esc) - linking [===============> ] 3/8\r (no-eol) (esc) - linking [=====================> ] 4/8\r (no-eol) (esc) - linking [===========================> ] 5/8\r (no-eol) (esc) - linking [================================> ] 6/8\r (no-eol) (esc) - linking [======================================> ] 7/8\r (no-eol) (esc) - linking [============================================>] 8/8\r (no-eol) (esc) + linking [====> ] 1/9\r (no-eol) (esc) (no-rust !) + linking [=========> ] 2/9\r (no-eol) (esc) (no-rust !) + linking [==============> ] 3/9\r (no-eol) (esc) (no-rust !) + linking [===================> ] 4/9\r (no-eol) (esc) (no-rust !) + linking [========================> ] 5/9\r (no-eol) (esc) (no-rust !) + linking [=============================> ] 6/9\r (no-eol) (esc) (no-rust !) + linking [==================================> ] 7/9\r (no-eol) (esc) (no-rust !) + linking [=======================================> ] 8/9\r (no-eol) (esc) (no-rust !) + linking [============================================>] 9/9\r (no-eol) (esc) (no-rust !) + linking [==> ] 1/11\r (no-eol) (esc) (rust !) + linking [======> ] 2/11\r (no-eol) (esc) (rust !) + linking [==========> ] 3/11\r (no-eol) (esc) (rust !) + linking [==============> ] 4/11\r (no-eol) (esc) (rust !) + linking [==================> ] 5/11\r (no-eol) (esc) (rust !) + linking [======================> ] 6/11\r (no-eol) (esc) (rust !) + linking [==========================> ] 7/11\r (no-eol) (esc) (rust !) + linking [==============================> ] 8/11\r (no-eol) (esc) (rust !) + linking [==================================> ] 9/11\r (no-eol) (esc) (rust !) + linking [======================================> ] 10/11\r (no-eol) (esc) (rust !) + linking [==========================================>] 11/11\r (no-eol) (esc) (rust !) \r (no-eol) (esc) \r (no-eol) (esc) updating [===========================================>] 3/3\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) - linking [====> ] 1/8\r (no-eol) (esc) - linking [==========> ] 2/8\r (no-eol) (esc) - linking [===============> ] 3/8\r (no-eol) (esc) - linking [=====================> ] 4/8\r (no-eol) (esc) - linking [===========================> ] 5/8\r (no-eol) (esc) - linking [================================> ] 6/8\r (no-eol) (esc) - linking [======================================> ] 7/8\r (no-eol) (esc) - linking [============================================>] 8/8\r (no-eol) (esc) + linking [==> ] 1/11\r (no-eol) (esc) + linking [======> ] 2/11\r (no-eol) (esc) + linking [==========> ] 3/11\r (no-eol) (esc) + linking [==============> ] 4/11\r (no-eol) (esc) + linking [==================> ] 5/11\r (no-eol) (esc) + linking [======================> ] 6/11\r (no-eol) (esc) + linking [==========================> ] 7/11\r (no-eol) (esc) + linking [==============================> ] 8/11\r (no-eol) (esc) + linking [==================================> ] 9/11\r (no-eol) (esc) + linking [======================================> ] 10/11\r (no-eol) (esc) + linking [==========================================>] 11/11\r (no-eol) (esc) updating [===========================================>] 3/3\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) - linking [======> ] 1/6\r (no-eol) (esc) - linking [==============> ] 2/6\r (no-eol) (esc) - linking [=====================> ] 3/6\r (no-eol) (esc) - linking [=============================> ] 4/6\r (no-eol) (esc) - linking [====================================> ] 5/6\r (no-eol) (esc) - linking [============================================>] 6/6\r (no-eol) (esc) + linking [====> ] 1/9\r (no-eol) (esc) + linking [=========> ] 2/9\r (no-eol) (esc) + linking [==============> ] 3/9\r (no-eol) (esc) + linking [===================> ] 4/9\r (no-eol) (esc) + linking [========================> ] 5/9\r (no-eol) (esc) + linking [=============================> ] 6/9\r (no-eol) (esc) + linking [==================================> ] 7/9\r (no-eol) (esc) + linking [=======================================> ] 8/9\r (no-eol) (esc) + linking [============================================>] 9/9\r (no-eol) (esc) updating [===========================================>] 1/1\r (no-eol) (esc) \r (no-eol) (esc) updating to branch default cloning subrepo sub1 from $TESTTMP/sub1 cloning subrepo sub1/sub2 from $TESTTMP/sub2 3 files updated, 0 files merged, 0 files removed, 0 files unresolved +#else + $ hg --config extensions.largefiles= clone main cloned + \r (no-eol) (esc) + linking [====> ] 1/9\r (no-eol) (esc) + linking [=========> ] 2/9\r (no-eol) (esc) + linking [==============> ] 3/9\r (no-eol) (esc) + linking [===================> ] 4/9\r (no-eol) (esc) + linking [========================> ] 5/9\r (no-eol) (esc) + linking [=============================> ] 6/9\r (no-eol) (esc) + linking [==================================> ] 7/9\r (no-eol) (esc) + linking [=======================================> ] 8/9\r (no-eol) (esc) + linking [============================================>] 9/9\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + updating [===========================================>] 3/3\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + linking [====> ] 1/9\r (no-eol) (esc) + linking [=========> ] 2/9\r (no-eol) (esc) + linking [==============> ] 3/9\r (no-eol) (esc) + linking [===================> ] 4/9\r (no-eol) (esc) + linking [========================> ] 5/9\r (no-eol) (esc) + linking [=============================> ] 6/9\r (no-eol) (esc) + linking [==================================> ] 7/9\r (no-eol) (esc) + linking [=======================================> ] 8/9\r (no-eol) (esc) + linking [============================================>] 9/9\r (no-eol) (esc) + updating [===========================================>] 3/3\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + linking [=====> ] 1/7\r (no-eol) (esc) + linking [===========> ] 2/7\r (no-eol) (esc) + linking [==================> ] 3/7\r (no-eol) (esc) + linking [========================> ] 4/7\r (no-eol) (esc) + linking [===============================> ] 5/7\r (no-eol) (esc) + linking [=====================================> ] 6/7\r (no-eol) (esc) + linking [============================================>] 7/7\r (no-eol) (esc) + updating [===========================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + updating to branch default + cloning subrepo sub1 from $TESTTMP/sub1 + cloning subrepo sub1/sub2 from $TESTTMP/sub2 + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved +#endif Largefiles is NOT enabled in the clone if the source repo doesn't require it $ hg debugrequires -R cloned | grep largefiles
--- a/tests/test-subrepo-recursion.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-subrepo-recursion.t Fri Dec 15 11:10:24 2023 +0100 @@ -454,6 +454,65 @@ #if hardlink $ hg clone -U . ../empty \r (no-eol) (esc) + linking [===> ] 1/10\r (no-eol) (esc) (no-rust !) + linking [=======> ] 2/10\r (no-eol) (esc) (no-rust !) + linking [===========> ] 3/10\r (no-eol) (esc) (no-rust !) + linking [================> ] 4/10\r (no-eol) (esc) (no-rust !) + linking [====================> ] 5/10\r (no-eol) (esc) (no-rust !) + linking [========================> ] 6/10\r (no-eol) (esc) (no-rust !) + linking [=============================> ] 7/10\r (no-eol) (esc) (no-rust !) + linking [=================================> ] 8/10\r (no-eol) (esc) (no-rust !) + linking [=====================================> ] 9/10\r (no-eol) (esc) (no-rust !) + linking [==========================================>] 10/10\r (no-eol) (esc) (no-rust !) + linking [==> ] 1/12\r (no-eol) (esc) (rust !) + linking [======> ] 2/12\r (no-eol) (esc) (rust !) + linking [=========> ] 3/12\r (no-eol) (esc) (rust !) + linking [=============> ] 4/12\r (no-eol) (esc) (rust !) + linking [================> ] 5/12\r (no-eol) (esc) (rust !) + linking [====================> ] 6/12\r (no-eol) (esc) (rust !) + linking [========================> ] 7/12\r (no-eol) (esc) (rust !) + linking [===========================> ] 8/12\r (no-eol) (esc) (rust !) + linking [===============================> ] 9/12\r (no-eol) (esc) (rust !) + linking [==================================> ] 10/12\r (no-eol) (esc) (rust !) + linking [======================================> ] 11/12\r (no-eol) (esc) (rust !) + linking [==========================================>] 12/12\r (no-eol) (esc) (rust !) + \r (no-eol) (esc) +#else + $ hg clone -U . ../empty + \r (no-eol) (esc) + linking [ <=> ] 1 (no-eol) +#endif + + $ cd ../empty +#if hardlink +#if rust + $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz + \r (no-eol) (esc) + archiving [ ] 0/3\r (no-eol) (esc) + archiving [=============> ] 1/3\r (no-eol) (esc) + archiving [===========================> ] 2/3\r (no-eol) (esc) + archiving [==========================================>] 3/3\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + linking [==> ] 1/11\r (no-eol) (esc) + linking [======> ] 2/11\r (no-eol) (esc) + linking [==========> ] 3/11\r (no-eol) (esc) + linking [==============> ] 4/11\r (no-eol) (esc) + linking [==================> ] 5/11\r (no-eol) (esc) + linking [======================> ] 6/11\r (no-eol) (esc) + linking [==========================> ] 7/11\r (no-eol) (esc) + linking [==============================> ] 8/11\r (no-eol) (esc) + linking [==================================> ] 9/11\r (no-eol) (esc) + linking [======================================> ] 10/11\r (no-eol) (esc) + linking [==========================================>] 11/11\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) + archiving (foo) [ ] 0/3\r (no-eol) (esc) + archiving (foo) [===========> ] 1/3\r (no-eol) (esc) + archiving (foo) [=======================> ] 2/3\r (no-eol) (esc) + archiving (foo) [====================================>] 3/3\r (no-eol) (esc) + \r (no-eol) (esc) + \r (no-eol) (esc) linking [====> ] 1/9\r (no-eol) (esc) linking [=========> ] 2/9\r (no-eol) (esc) linking [==============> ] 3/9\r (no-eol) (esc) @@ -464,14 +523,13 @@ linking [=======================================> ] 8/9\r (no-eol) (esc) linking [============================================>] 9/9\r (no-eol) (esc) \r (no-eol) (esc) + \r (no-eol) (esc) + archiving (foo/bar) [ ] 0/1\r (no-eol) (esc) + archiving (foo/bar) [================================>] 1/1\r (no-eol) (esc) + \r (no-eol) (esc) + cloning subrepo foo from $TESTTMP/repo/foo + cloning subrepo foo/bar from $TESTTMP/repo/foo/bar #else - $ hg clone -U . ../empty - \r (no-eol) (esc) - linking [ <=> ] 1 (no-eol) -#endif - - $ cd ../empty -#if hardlink $ hg archive --subrepos -r tip --prefix './' ../archive.tar.gz \r (no-eol) (esc) archiving [ ] 0/3\r (no-eol) (esc) @@ -480,14 +538,15 @@ archiving [==========================================>] 3/3\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) - linking [====> ] 1/8\r (no-eol) (esc) - linking [==========> ] 2/8\r (no-eol) (esc) - linking [===============> ] 3/8\r (no-eol) (esc) - linking [=====================> ] 4/8\r (no-eol) (esc) - linking [===========================> ] 5/8\r (no-eol) (esc) - linking [================================> ] 6/8\r (no-eol) (esc) - linking [======================================> ] 7/8\r (no-eol) (esc) - linking [============================================>] 8/8\r (no-eol) (esc) + linking [====> ] 1/9\r (no-eol) (esc) + linking [=========> ] 2/9\r (no-eol) (esc) + linking [==============> ] 3/9\r (no-eol) (esc) + linking [===================> ] 4/9\r (no-eol) (esc) + linking [========================> ] 5/9\r (no-eol) (esc) + linking [=============================> ] 6/9\r (no-eol) (esc) + linking [==================================> ] 7/9\r (no-eol) (esc) + linking [=======================================> ] 8/9\r (no-eol) (esc) + linking [============================================>] 9/9\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) archiving (foo) [ ] 0/3\r (no-eol) (esc) @@ -496,12 +555,13 @@ archiving (foo) [====================================>] 3/3\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) - linking [======> ] 1/6\r (no-eol) (esc) - linking [==============> ] 2/6\r (no-eol) (esc) - linking [=====================> ] 3/6\r (no-eol) (esc) - linking [=============================> ] 4/6\r (no-eol) (esc) - linking [====================================> ] 5/6\r (no-eol) (esc) - linking [============================================>] 6/6\r (no-eol) (esc) + linking [=====> ] 1/7\r (no-eol) (esc) + linking [===========> ] 2/7\r (no-eol) (esc) + linking [==================> ] 3/7\r (no-eol) (esc) + linking [========================> ] 4/7\r (no-eol) (esc) + linking [===============================> ] 5/7\r (no-eol) (esc) + linking [=====================================> ] 6/7\r (no-eol) (esc) + linking [============================================>] 7/7\r (no-eol) (esc) \r (no-eol) (esc) \r (no-eol) (esc) archiving (foo/bar) [ ] 0/1\r (no-eol) (esc) @@ -509,6 +569,7 @@ \r (no-eol) (esc) cloning subrepo foo from $TESTTMP/repo/foo cloning subrepo foo/bar from $TESTTMP/repo/foo/bar +#endif #else Note there's a slight output glitch on non-hardlink systems: the last "linking" progress topic never gets closed, leading to slight output corruption on that platform.
--- a/tests/test-transaction-safety.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-transaction-safety.t Fri Dec 15 11:10:24 2023 +0100 @@ -89,7 +89,7 @@ > rm -f $TESTTMP/sync/* > rm -f $TESTTMP/output/* > hg log --rev 'tip' -T 'pre-commit: {rev} {desc}\n' - > echo x >> a + > echo x >> of > sh $TESTTMP/script/external.sh & hg commit -m "$1" > cat $TESTTMP/output/external.out > cat $TESTTMP/output/internal.out @@ -101,7 +101,7 @@ > rm -f $TESTTMP/sync/* > rm -f $TESTTMP/output/* > hg log --rev 'tip' -T 'pre-commit: {rev} {desc}\n' - > echo x >> a + > echo x >> of > sh $TESTTMP/script/external.sh & hg pull ../other-repo/ --rev "$1" --force --quiet > cat $TESTTMP/output/external.out > cat $TESTTMP/output/internal.out @@ -113,22 +113,22 @@ The source is large to unsure we don't use inline more after the pull $ hg init other-repo - $ hg -R other-repo debugbuilddag .+500 + $ hg -R other-repo debugbuilddag .+500 --overwritten-file prepare an empty repository where to make test: $ hg init repo $ cd repo - $ touch a - $ hg add a + $ touch of + $ hg add of prepare a small extension to controll inline size $ mkdir $TESTTMP/ext $ cat << EOF > $TESTTMP/ext/small_inline.py > from mercurial import revlog - > revlog._maxinline = 64 * 100 + > revlog._maxinline = 3 * 100 > EOF @@ -154,8 +154,8 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline - flags : inline + $ hg debugrevlog of | grep inline + flags : inline, * (glob) #endif @@ -166,8 +166,8 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline - flags : inline + $ hg debugrevlog of | grep inline + flags : inline, * (glob) #endif @@ -179,8 +179,8 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline - flags : inline + $ hg debugrevlog of | grep inline + flags : inline, * (glob) #endif @@ -191,8 +191,8 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline - flags : inline + $ hg debugrevlog of | grep inline + flags : inline, * (glob) #endif @@ -205,8 +205,8 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline - flags : inline + $ hg debugrevlog of | grep inline + flags : inline, * (glob) #endif @@ -217,8 +217,8 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline - flags : inline + $ hg debugrevlog of | grep inline + flags : inline, * (glob) #endif @@ -230,7 +230,7 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline + $ hg debugrevlog of | grep inline [1] #endif @@ -242,7 +242,7 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline + $ hg debugrevlog of | grep inline [1] #endif @@ -255,7 +255,7 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline + $ hg debugrevlog of | grep inline [1] #endif @@ -268,7 +268,7 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline + $ hg debugrevlog of | grep inline [1] #endif @@ -281,7 +281,7 @@ #if revlogv1 - $ hg debugrevlog -c | grep inline + $ hg debugrevlog of | grep inline [1] #endif
--- a/tests/test-treemanifest.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-treemanifest.t Fri Dec 15 11:10:24 2023 +0100 @@ -761,7 +761,8 @@ $ hg clone --config experimental.changegroup3=True --stream -U \ > http://localhost:$HGPORT1 stream-clone-basicstore streaming all changes - 28 files to transfer, * of data (glob) + 29 files to transfer, * of data (glob) (no-rust !) + 31 files to transfer, * of data (glob) (rust !) transferred * in * seconds (*) (glob) $ hg -R stream-clone-basicstore verify -q $ cat port-1-errors.log @@ -770,7 +771,8 @@ $ hg clone --config experimental.changegroup3=True --stream -U \ > http://localhost:$HGPORT2 stream-clone-encodedstore streaming all changes - 28 files to transfer, * of data (glob) + 29 files to transfer, * of data (glob) (no-rust !) + 31 files to transfer, * of data (glob) (rust !) transferred * in * seconds (*) (glob) $ hg -R stream-clone-encodedstore verify -q $ cat port-2-errors.log @@ -779,15 +781,17 @@ $ hg clone --config experimental.changegroup3=True --stream -U \ > http://localhost:$HGPORT stream-clone-fncachestore streaming all changes - 22 files to transfer, * of data (glob) + 23 files to transfer, * of data (glob) (no-rust !) + 25 files to transfer, * of data (glob) (rust !) transferred * in * seconds (*) (glob) $ hg -R stream-clone-fncachestore verify -q $ cat port-0-errors.log Packed bundle $ hg -R deeprepo debugcreatestreamclonebundle repo-packed.hg - writing 5330 bytes for 18 files (no-zstd !) - writing 5400 bytes for 18 files (zstd !) + writing 5330 bytes for 19 files (no-zstd !) + writing 5400 bytes for 19 files (zstd no-rust !) + writing 5654 bytes for 21 files (zstd rust !) bundle requirements:.* treemanifest(,.*)? (re) $ hg debugbundle --spec repo-packed.hg none-packed1;requirements%3D(.*%2C)?treemanifest(%2C.*)? (re)
--- a/tests/test-upgrade-repo.t Fri Dec 15 11:08:41 2023 +0100 +++ b/tests/test-upgrade-repo.t Fri Dec 15 11:10:24 2023 +0100 @@ -836,7 +836,10 @@ store directory has files we expect $ ls .hg/store + 00changelog-????????.nd (glob) (rust !) + 00changelog.d 00changelog.i + 00changelog.n (rust !) 00manifest.i data data-s @@ -860,7 +863,10 @@ $ ls -d .hg/upgradebackup.*/ .hg/upgradebackup.*/ (glob) $ ls .hg/upgradebackup.*/store + 00changelog-????????.nd (glob) (rust !) + 00changelog.d 00changelog.i + 00changelog.n (rust !) 00manifest.i data data-s @@ -868,6 +874,7 @@ phaseroots requires undo + undo.backup.00changelog.n.bck (rust !) undo.backup.fncache.bck undo.backupfiles