test-copies: test that copies' sidedata can get computed during push
authorPierre-Yves David <pierre-yves.david@octobus.net>
Mon, 19 Apr 2021 11:22:24 +0200
changeset 47091 bc7bdca15e47
parent 47090 f506adbe5ac1
child 47092 102a50746bc5
test-copies: test that copies' sidedata can get computed during push If the source of the push does not have the necessary sidedata but the server needs them, the client should compute them on the fly while pushing. Differential Revision: https://phab.mercurial-scm.org/D10350
tests/test-copies-chain-merge.t
--- a/tests/test-copies-chain-merge.t	Mon Apr 19 11:22:24 2021 +0200
+++ b/tests/test-copies-chain-merge.t	Mon Apr 19 11:22:24 2021 +0200
@@ -1,4 +1,4 @@
-#testcases filelog compatibility changeset sidedata upgraded upgraded-parallel pull push pull-upgrade
+#testcases filelog compatibility changeset sidedata upgraded upgraded-parallel pull push pull-upgrade push-upgrade
 
 =====================================================
 Test Copy tracing for chain of copies involving merge
@@ -73,7 +73,6 @@
   > EOF
 #endif
 
-
 #if pull-upgrade
   $ cat >> $HGRCPATH << EOF
   > [format]
@@ -84,6 +83,16 @@
   > EOF
 #endif
 
+#if push-upgrade
+  $ cat >> $HGRCPATH << EOF
+  > [format]
+  > exp-use-side-data = no
+  > exp-use-copies-side-data-changeset = no
+  > [experimental]
+  > changegroup4 = yes
+  > EOF
+#endif
+
   $ cat > same-content.txt << EOF
   > Here is some content that will be the same accros multiple file.
   > 
@@ -1770,6 +1779,28 @@
   $ cd ../repo-chain
 #endif
 
+#if push-upgrade
+  $ cat >> $HGRCPATH << EOF
+  > [format]
+  > exp-use-side-data = yes
+  > exp-use-copies-side-data-changeset = yes
+  > [experimental]
+  > changegroup4 = yes
+  > EOF
+  $ cd ..
+  $ mv repo-chain repo-source
+  $ hg init repo-chain
+  $ cd repo-source
+  $ hg push ../repo-chain
+  pushing to ../repo-chain
+  searching for changes
+  adding changesets
+  adding manifests
+  adding file changes
+  added 80 changesets with 44 changes to 25 files (+39 heads)
+  $ cd ../repo-chain
+#endif
+
 #if no-compatibility no-filelog no-changeset
 
   $ hg debugchangedfiles --compute 0