comparison tests/test-generaldelta.t @ 27547:dfab6edb98e3

format: introduce 'format.usegeneraldelta` This option will make repositories created as general delta by default but will not make Mercurial aggressively recompute deltas for all incoming bundle. Instead, the delta contained in the bundle will be used. This will allow us to start having general delta repositories created everywhere without triggering massive recomputation costs for all new clients cloning from old servers.
author Pierre-Yves David <pierre-yves.david@fb.com>
date Mon, 02 Nov 2015 15:59:12 +0000
parents 0f75461a9698
children f43689badeff
comparison
equal deleted inserted replaced
27546:e40af07e518e 27547:dfab6edb98e3
69 rev offset length base linkrev nodeid p1 p2 69 rev offset length base linkrev nodeid p1 p2
70 0 0 3 0 1 1406e7411862 000000000000 000000000000 70 0 0 3 0 1 1406e7411862 000000000000 000000000000
71 71
72 $ cd .. 72 $ cd ..
73 73
74 Test "usegeneraldelta" config
75 (repo are general delta, but incoming bundle are not re-deltified)
76
77 delta coming from the server base delta server are not recompressed.
78 (also include the aggressive version for comparison)
79
80 $ hg clone repo --pull --config format.usegeneraldelta=1 usegd
81 requesting all changes
82 adding changesets
83 adding manifests
84 adding file changes
85 added 4 changesets with 5 changes to 2 files (+2 heads)
86 updating to branch default
87 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
88 $ hg clone repo --pull --config format.generaldelta=1 full
89 requesting all changes
90 adding changesets
91 adding manifests
92 adding file changes
93 added 4 changesets with 5 changes to 2 files (+2 heads)
94 updating to branch default
95 2 files updated, 0 files merged, 0 files removed, 0 files unresolved
96 $ hg -R repo debugindex -m
97 rev offset length base linkrev nodeid p1 p2
98 0 0 77 0 0 0273e8a1b972 000000000000 000000000000
99 1 77 57 0 1 e0c49f5ef780 0273e8a1b972 000000000000
100 2 134 77 2 2 de950093e41b 0273e8a1b972 000000000000
101 3 211 57 2 3 db74c7cde4d0 0273e8a1b972 000000000000
102 $ hg -R usegd debugindex -m
103 rev offset length delta linkrev nodeid p1 p2
104 0 0 77 -1 0 0273e8a1b972 000000000000 000000000000
105 1 77 57 0 1 e0c49f5ef780 0273e8a1b972 000000000000
106 2 134 77 -1 2 de950093e41b 0273e8a1b972 000000000000
107 3 211 57 2 3 db74c7cde4d0 0273e8a1b972 000000000000
108 $ hg -R full debugindex -m
109 rev offset length delta linkrev nodeid p1 p2
110 0 0 77 -1 0 0273e8a1b972 000000000000 000000000000
111 1 77 57 0 1 e0c49f5ef780 0273e8a1b972 000000000000
112 2 134 57 0 2 de950093e41b 0273e8a1b972 000000000000
113 3 191 57 0 3 db74c7cde4d0 0273e8a1b972 000000000000
114
74 Test format.aggressivemergedeltas 115 Test format.aggressivemergedeltas
75 116
76 $ hg init --config format.generaldelta=1 aggressive 117 $ hg init --config format.generaldelta=1 aggressive
77 $ cd aggressive 118 $ cd aggressive
119 $ cat << EOF >> .hg/hgrc
120 > [format]
121 > generaldelta = 1
122 > EOF
78 $ touch a b c d e 123 $ touch a b c d e
79 $ hg commit -Aqm side1 124 $ hg commit -Aqm side1
80 $ hg up -q null 125 $ hg up -q null
81 $ touch x y 126 $ touch x y
82 $ hg commit -Aqm side2 127 $ hg commit -Aqm side2