2020-01-20 13:42:49 +03:00
|
|
|
$ disable treemanifest
|
2020-04-10 20:56:22 +03:00
|
|
|
$ configure dummyssh
|
2020-01-20 13:42:49 +03:00
|
|
|
|
2013-09-24 22:32:00 +04:00
|
|
|
$ hg init a
|
|
|
|
$ cd a
|
|
|
|
$ echo a>a
|
|
|
|
$ hg ci -q -A -m 0
|
2020-01-20 13:42:49 +03:00
|
|
|
$ cd ..
|
2013-09-24 22:32:00 +04:00
|
|
|
|
2020-01-20 13:42:49 +03:00
|
|
|
$ enable lz4revlog
|
2013-09-24 22:32:00 +04:00
|
|
|
|
|
|
|
having lz4revlog enabled should not affect an existing repo
|
|
|
|
|
2020-01-20 13:42:49 +03:00
|
|
|
$ cd a
|
2013-09-24 22:32:00 +04:00
|
|
|
$ for i in 0 1 2 3 4 5 6 7 8 9; do
|
|
|
|
> echo qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquuuuuuuuuuuuuuuuuuuuqqqq$i >> a
|
2018-01-03 18:04:08 +03:00
|
|
|
> done
|
2013-09-24 22:32:00 +04:00
|
|
|
$ hg ci -q -m 1
|
|
|
|
$ hg verify -q
|
|
|
|
|
|
|
|
$ cd ..
|
|
|
|
|
|
|
|
regular clone of an existing zlib repo should still use zlib
|
|
|
|
|
|
|
|
$ hg clone a b
|
|
|
|
updating to branch default
|
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
$ sort b/.hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-01 00:29:18 +03:00
|
|
|
generaldelta
|
2013-09-24 22:32:00 +04:00
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|
2013-09-24 22:32:00 +04:00
|
|
|
|
|
|
|
pulled clone of zlib should use lz4
|
|
|
|
|
|
|
|
$ hg clone -q --pull a alz4
|
|
|
|
$ sort alz4/.hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-01 00:29:18 +03:00
|
|
|
generaldelta
|
2013-09-24 22:32:00 +04:00
|
|
|
lz4revlog
|
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|
2013-09-24 22:32:00 +04:00
|
|
|
|
|
|
|
disable lz4, then clone
|
|
|
|
|
|
|
|
$ hg --config format.uselz4=False clone --pull a w
|
|
|
|
requesting all changes
|
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
|
|
|
added 2 changesets with 2 changes to 1 files
|
|
|
|
updating to branch default
|
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
$ sort w/.hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-01 00:29:18 +03:00
|
|
|
generaldelta
|
2013-09-24 22:32:00 +04:00
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|
2013-09-24 22:32:00 +04:00
|
|
|
|
|
|
|
attempt to disable lz4 should be ignored for hardlinked clone
|
|
|
|
|
|
|
|
$ hg --config format.uselz4=False clone alz4 azlib
|
|
|
|
updating to branch default
|
|
|
|
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
|
|
|
$ sort azlib/.hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-01 00:29:18 +03:00
|
|
|
generaldelta
|
2013-09-24 22:32:00 +04:00
|
|
|
lz4revlog
|
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|
2013-09-24 22:32:00 +04:00
|
|
|
|
|
|
|
a new repo should use lz4 by default
|
|
|
|
|
|
|
|
$ hg init lz
|
|
|
|
$ cd lz
|
|
|
|
$ echo a>a
|
2013-09-26 23:33:10 +04:00
|
|
|
$ touch b
|
2013-09-24 22:32:00 +04:00
|
|
|
$ hg ci -q -A -m lz0
|
|
|
|
$ for i in 0 1 2 3 4 5 6 7 8 9; do
|
|
|
|
> echo qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquuuuuuuuuuuuuuuuuuuu$i >> a
|
2018-01-03 18:04:08 +03:00
|
|
|
> done
|
2013-09-24 22:32:00 +04:00
|
|
|
$ hg ci -q -m lz1
|
|
|
|
$ hg verify -q
|
|
|
|
$ hg tip
|
2013-09-26 23:33:10 +04:00
|
|
|
changeset: 1:18e28922b6ed
|
2013-09-24 22:32:00 +04:00
|
|
|
user: test
|
|
|
|
date: Thu Jan 01 00:00:00 1970 +0000
|
|
|
|
summary: lz1
|
|
|
|
|
|
|
|
$ sort .hg/requires
|
|
|
|
dotencode
|
|
|
|
fncache
|
2015-12-01 00:29:18 +03:00
|
|
|
generaldelta
|
2013-09-24 22:32:00 +04:00
|
|
|
lz4revlog
|
|
|
|
revlogv1
|
|
|
|
store
|
2018-07-28 03:58:22 +03:00
|
|
|
treestate
|
2013-09-24 22:32:00 +04:00
|
|
|
|
|
|
|
vanilla hg should bail in an lz4 repo
|
|
|
|
|
|
|
|
$ hg --config 'extensions.lz4revlog=!' tip
|
2014-09-18 04:26:12 +04:00
|
|
|
abort: repository requires features unknown to this Mercurial: lz4revlog!
|
2015-11-05 00:04:35 +03:00
|
|
|
(see https://mercurial-scm.org/wiki/MissingRequirement for more information)
|
2013-09-24 22:32:00 +04:00
|
|
|
[255]
|
|
|
|
|
|
|
|
uncompressed clone from lz4 to lz4 should be fine
|
|
|
|
|
|
|
|
$ cd ..
|
2020-04-10 20:56:22 +03:00
|
|
|
$ hg clone --uncompressed ssh://user@dummy/lz happy
|
2013-09-24 22:32:00 +04:00
|
|
|
streaming all changes
|
2019-08-31 00:56:12 +03:00
|
|
|
5 files to transfer, * of data (glob)
|
2014-09-18 04:26:12 +04:00
|
|
|
transferred 785 bytes in * seconds * (glob)
|
2015-02-19 01:43:30 +03:00
|
|
|
searching for changes
|
|
|
|
no changes found
|
2013-09-24 22:32:00 +04:00
|
|
|
updating to branch default
|
2013-09-26 23:33:10 +04:00
|
|
|
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
|
2013-09-24 22:32:00 +04:00
|
|
|
|
|
|
|
uncompressed clone from lz4 to non-lz4 should fall back to pull
|
|
|
|
|
2020-04-10 20:56:22 +03:00
|
|
|
$ hg --config 'extensions.lz4revlog=!' clone -U --uncompressed ssh://user@dummy/lz nonesuch
|
2017-05-16 19:41:54 +03:00
|
|
|
warning: stream clone requested but client is missing requirements: lz4revlog
|
|
|
|
(see https://www.mercurial-scm.org/wiki/MissingRequirement for more information)
|
2013-09-24 22:32:00 +04:00
|
|
|
requesting all changes
|
|
|
|
adding changesets
|
|
|
|
adding manifests
|
|
|
|
adding file changes
|
2013-09-26 23:33:10 +04:00
|
|
|
added 2 changesets with 3 changes to 2 files
|