comparison tests/test-wireproto-exchangev2.t @ 40924:08cfa77d7288

wireprotov2: unify file revision collection and linknode derivation The old mechanism for choosing which file revisions to send in the haveparents=True case was buggy in multiple ways - the most severe of which being that file revisions were excluded when they shouldn't have been. This commit unifies the logic for deriving the filenodes that will be sent by the "filesdata" command. We now consistently read files data from manifests. The "haveparents" argument now controls whether we iterate ctx.files() or use the full manifest to derive relevant files. The logic here is still woefully lacking to fully support shallow clones. It will require an API break to fully address. This commit should at least make the server APIs emit proper data, which is strictly better than before. Differential Revision: https://phab.mercurial-scm.org/D5406
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 10 Dec 2018 18:55:08 +0000
parents ca6372b7e566
children 1ab6f5df263e
comparison
equal deleted inserted replaced
40923:3ed77780f4a6 40924:08cfa77d7288
1298 new changesets 639c8990d6a5 1298 new changesets 639c8990d6a5
1299 (run 'hg update' to get a working copy) 1299 (run 'hg update' to get a working copy)
1300 1300
1301 #if reporevlogstore 1301 #if reporevlogstore
1302 $ hg -R client-linknode-2 debugrevlogindex dupe-file 1302 $ hg -R client-linknode-2 debugrevlogindex dupe-file
1303 abort: revlog 'dupe-file' not found 1303 rev linkrev nodeid p1 p2
1304 [255] 1304 0 2 2ed2a3912a0b 000000000000 000000000000
1305 #endif 1305 #endif
1306
1307 $ hg -R client-linknode-2 verify
1308 checking changesets
1309 checking manifests
1310 crosschecking files in changesets and manifests
1311 checking files
1312 warning: revlog 'data/dupe-file.i' not in fncache!
1313 2: empty or missing dupe-file
1314 dupe-file@2: manifest refers to unknown revision 2ed2a3912a0b
1315 checked 3 changesets with 2 changes to 3 files
1316 1 warnings encountered!
1317 hint: run "hg debugrebuildfncache" to recover from corrupt fncache
1318 2 integrity errors encountered!
1319 (first damaged changeset appears to be 2)
1320 [1]