diff --git a/mercurial/upgrade.py b/mercurial/upgrade.py --- a/mercurial/upgrade.py +++ b/mercurial/upgrade.py @@ -107,6 +107,7 @@ localrepo.SIDEDATA_REQUIREMENT, localrepo.COPIESSDC_REQUIREMENT, localrepo.NODEMAP_REQUIREMENT, + localrepo.SHARESAFE_REQUIREMENT, } for name in compression.compengines: engine = compression.compengines[name] diff --git a/tests/test-share-safe.t b/tests/test-share-safe.t --- a/tests/test-share-safe.t +++ b/tests/test-share-safe.t @@ -146,6 +146,34 @@ abort: bcde3522682d rejected as merge on the same branch. Please consider rebase. [255] +Update the source repository format and check that shared repo works + + $ cd ../source + $ echo "[format]" >> .hg/hgrc + $ echo "revlog-compression=zstd" >> .hg/hgrc + + $ hg debugupgraderepo --run -q + upgrade will perform the following actions: + + requirements + preserved: dotencode, fncache, generaldelta, revlogv1, sharesafe, sparserevlog, store + added: revlog-compression-zstd + + $ hg log -r . + changeset: 1:5f6d8a4bf34a + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: added b + +Shared one should work + $ cd ../shared1 + $ hg log -r . + changeset: 2:155349b645be + tag: tip + user: test + date: Thu Jan 01 00:00:00 1970 +0000 + summary: added c + Unsharing works $ cd ../shared1