comparison tests/test-hgignore.t @ 48223:b4f83c9e7905

dirstate-v2: Add support when Rust is not enabled This wires into `dirstatemap` the parser and serializer added in previous changesets. The memory representation is still the same, with a flat `dict` for `DirstateItem`s and another one for copy sources. Serialization always creates a new dirstate-v2 data file and does not support (when Rust is not enabled) appending to an existing one, since we don’t keep track of which tree nodes are new or modified. Instead the tree is reconstructed during serialization. Differential Revision: https://phab.mercurial-scm.org/D11520
author Simon Sapin <simon.sapin@octobus.net>
date Fri, 16 Jul 2021 18:42:20 +0200
parents bf8837e3d7ce
children 5c567aca080d
comparison
equal deleted inserted replaced
48222:7e78c72ee3ea 48223:b4f83c9e7905
1 #testcases dirstate-v1 dirstate-v2 1 #testcases dirstate-v1 dirstate-v2
2 2
3 #if dirstate-v2 3 #if dirstate-v2
4 #require rust
5 $ echo '[format]' >> $HGRCPATH 4 $ echo '[format]' >> $HGRCPATH
6 $ echo 'exp-dirstate-v2=1' >> $HGRCPATH 5 $ echo 'exp-dirstate-v2=1' >> $HGRCPATH
7 #endif 6 #endif
8 7
9 $ hg init ignorerepo 8 $ hg init ignorerepo
395 (ignore rule in $TESTTMP\ignorerepo\.hgignore, line 4: 'dir1/file*') 394 (ignore rule in $TESTTMP\ignorerepo\.hgignore, line 4: 'dir1/file*')
396 $ hg up -qC . 395 $ hg up -qC .
397 396
398 #endif 397 #endif
399 398
400 #if dirstate-v2 399 #if dirstate-v2 rust
401 400
402 Check the hash of ignore patterns written in the dirstate 401 Check the hash of ignore patterns written in the dirstate
402 This is an optimization that is only relevant when using the Rust extensions
403 403
404 $ hg status > /dev/null 404 $ hg status > /dev/null
405 $ cat .hg/testhgignore .hg/testhgignorerel .hgignore dir2/.hgignore dir1/.hgignore dir1/.hgignoretwo | $TESTDIR/f --sha1 405 $ cat .hg/testhgignore .hg/testhgignorerel .hgignore dir2/.hgignore dir1/.hgignore dir1/.hgignoretwo | $TESTDIR/f --sha1
406 sha1=6e315b60f15fb5dfa02be00f3e2c8f923051f5ff 406 sha1=6e315b60f15fb5dfa02be00f3e2c8f923051f5ff
407 $ hg debugdirstateignorepatternshash 407 $ hg debugdirstateignorepatternshash