Mercurial > hg-stable
changeset 45664:8cebc4c13978
side-data: add a test to check sidedata upgrade
We want to make sure that sidedata computed at commit time and during upgrade
are the same. To do so, we upgrade the repository in `test-copies-chain-merge.t`
since the file is checking all the special case that we need to catch. The
sidedata content in both case should be the same.
Differential Revision: https://phab.mercurial-scm.org/D9124
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 29 Sep 2020 23:16:09 +0200 |
parents | cf474af69766 |
children | 308ca5528ee6 |
files | tests/test-copies-chain-merge.t |
diffstat | 1 files changed, 181 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-copies-chain-merge.t Tue Sep 29 22:19:46 2020 +0200 +++ b/tests/test-copies-chain-merge.t Tue Sep 29 23:16:09 2020 +0200 @@ -976,3 +976,184 @@ $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mCB-revert-m-0")' $ hg status --copies --rev 'desc("b-1")' --rev 'desc("mBC-revert-m-0")' + +Test that sidedata computations during upgrades ares correct +============================================================ + +We upgrade a repository that is not using sidedata (the filelog case) and + check that the same side data have been generated as if they were computed at + commit time. + + +#if filelog + $ cat >> $HGRCPATH << EOF + > [format] + > exp-use-side-data = yes + > exp-use-copies-side-data-changeset = yes + > EOF + $ hg debugformat -v + format-variant repo config default + fncache: yes yes yes + dotencode: yes yes yes + generaldelta: yes yes yes + sparserevlog: yes yes yes + sidedata: no yes no + persistent-nodemap: no no no + copies-sdc: no yes no + plain-cl-delta: yes yes yes + compression: * (glob) + compression-level: default default default + $ hg debugupgraderepo --run --quiet + upgrade will perform the following actions: + + requirements + preserved: * (glob) + added: exp-copies-sidedata-changeset, exp-sidedata-flag + +#endif + + +#if no-compatibility + + $ for rev in `hg log --rev 'all()' -T '{rev}\n'`; do + > echo "##### revision $rev #####" + > hg debugsidedata -c -v -- $rev + > done + ##### revision 0 ##### + 1 sidedata entries + entry-0014 size 34 + '\x00\x00\x00\x03\x04\x00\x00\x00\x01\x00\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x00abh' + ##### revision 1 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00ac' + ##### revision 2 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00cd' + ##### revision 3 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00de' + ##### revision 4 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00ef' + ##### revision 5 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00b' + ##### revision 6 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x0c\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 7 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x0c\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 8 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 9 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00bg' + ##### revision 10 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x06\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00fg' + ##### revision 11 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 12 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 13 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 14 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 15 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 16 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x04\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 17 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 18 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 19 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f' + ##### revision 20 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00f' + ##### revision 21 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x0c\x00\x00\x00\x01\x00\x00\x00\x00\x06\x00\x00\x00\x02\x00\x00\x00\x00hi' + ##### revision 22 ##### + 1 sidedata entries + entry-0014 size 24 + '\x00\x00\x00\x02\x16\x00\x00\x00\x01\x00\x00\x00\x01\x0c\x00\x00\x00\x02\x00\x00\x00\x00di' + ##### revision 23 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 24 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 25 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x14\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 26 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 27 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 28 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 29 ##### + 1 sidedata entries + entry-0014 size 14 + '\x00\x00\x00\x01\x08\x00\x00\x00\x01\x00\x00\x00\x00d' + ##### revision 30 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 31 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 32 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + ##### revision 33 ##### + 1 sidedata entries + entry-0014 size 4 + '\x00\x00\x00\x00' + +#endif