[Commented On] D11982: stream-clone: stop considering working copy only requirements
baymax (Baymax, Your Personal Patch-care Companion)
phabricator at mercurial-scm.org
Mon Jan 24 18:12:00 UTC 2022
baymax added a comment.
baymax updated this revision to Diff 31850.
✅ refresh by Heptapod after a successful CI run (🐙 💚)
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D11982?vs=31788&id=31850
BRANCH
default
CHANGES SINCE LAST ACTION
https://phab.mercurial-scm.org/D11982/new/
REVISION DETAIL
https://phab.mercurial-scm.org/D11982
AFFECTED FILES
mercurial/requirements.py
tests/test-clone-stream-format.t
CHANGE DETAILS
diff --git a/tests/test-clone-stream-format.t b/tests/test-clone-stream-format.t
--- a/tests/test-clone-stream-format.t
+++ b/tests/test-clone-stream-format.t
@@ -13,7 +13,7 @@
Initialize repository
- $ hg init server
+ $ hg init server --config format.use-share-safe=yes
$ cd server
$ sh $TESTDIR/testlib/stream_clone_setup.sh
adding 00changelog-ab349180a0405010.nd
@@ -277,7 +277,65 @@
crosschecking files in changesets and manifests
checking files
checked 3 changesets with 1088 changes to 1088 files
- $ hg debugrequires -R clone-from-share | grep share
+ $ hg debugrequires -R clone-from-share | egrep 'share$'
[1]
$ killdaemons.py
+
+Test streaming from/to repository without a share-safe
+======================================================
+
+ $ rm hg-*.pid errors-*.txt
+ $ hg clone --pull --config format.use-share-safe=no server server-no-share-safe
+ requesting all changes
+ adding changesets
+ adding manifests
+ adding file changes
+ added 3 changesets with 1088 changes to 1088 files
+ new changesets 96ee1d7354c4:5223b5e3265f
+ updating to branch default
+ 1088 files updated, 0 files merged, 0 files removed, 0 files unresolved
+ $ hg verify -R server-no-share-safe
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ checked 3 changesets with 1088 changes to 1088 files
+ $ hg -R server serve -p $HGPORT -d --pid-file=hg-1.pid --error errors-1.txt
+ $ cat hg-1.pid > $DAEMON_PIDS
+ $ hg -R server-no-share-safe serve -p $HGPORT2 -d --pid-file=hg-2.pid --error errors-2.txt
+ $ cat hg-2.pid >> $DAEMON_PIDS
+ $ hg debugrequires -R server | grep share-safe
+ share-safe
+ $ hg debugrequires -R server-no-share-safe | grep share-safe
+ [1]
+
+share-safe → no-share-safe cloning
+
+ $ hg clone --quiet --stream -U http://localhost:$HGPORT clone-remove-share-safe --config format.use-share-safe=no
+ $ cat errors-1.txt
+ $ hg -R clone-remove-share-safe verify
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ checked 3 changesets with 1088 changes to 1088 files
+ $ hg debugrequires -R clone-remove-share-safe | grep share-safe
+ [1]
+
+
+no-share-safe → share-safe cloning
+
+ $ hg clone --quiet --stream -U http://localhost:$HGPORT2 clone-add-share-safe --config format.use-share-safe=yes
+ $ cat errors-2.txt
+ $ hg -R clone-add-share-safe verify
+ checking changesets
+ checking manifests
+ crosschecking files in changesets and manifests
+ checking files
+ checked 3 changesets with 1088 changes to 1088 files
+ $ hg debugrequires -R clone-add-share-safe | grep share-safe
+ share-safe
+
+
+ $ killdaemons.py
diff --git a/mercurial/requirements.py b/mercurial/requirements.py
--- a/mercurial/requirements.py
+++ b/mercurial/requirements.py
@@ -109,13 +109,12 @@
BOOKMARKS_IN_STORE_REQUIREMENT,
CHANGELOGV2_REQUIREMENT,
COPIESSDC_REQUIREMENT,
- DIRSTATE_V2_REQUIREMENT,
GENERALDELTA_REQUIREMENT,
+ INTERNAL_PHASE_REQUIREMENT,
NODEMAP_REQUIREMENT,
REVLOG_COMPRESSION_ZSTD,
REVLOGV1_REQUIREMENT,
REVLOGV2_REQUIREMENT,
- SHARESAFE_REQUIREMENT,
SPARSEREVLOG_REQUIREMENT,
TREEMANIFEST_REQUIREMENT,
}
To: marmoute, #hg-reviewers, Alphare
Cc: mercurial-patches
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mercurial-scm.org/pipermail/mercurial-patches/attachments/20220124/9ba10e71/attachment-0002.html>
More information about the Mercurial-patches
mailing list