##// END OF EJS Templates
stream-clone: filter possible missing requirements using all supported one...
stream-clone: filter possible missing requirements using all supported one The `supportedformat` requirements is missing some important requirements and it seems better to filter out with all requirements we know, not just an "arbitrary" subset. The `supportedformat` set is lacking some important requirements (for example `revlog-compression-zstd`). This is getting fixed on default (for Mercurial 6.1) However, fixing that in 6.1 means the stream requirements sent over the wire will contains more items. And if we don't apply this fix on older version, they might end up complaining about lacking support for feature they actually support for years. This patch does not fix the deeper problem (advertised stream requirement lacking some of them), but focus on the trivial part : Lets use the full set of supported requirement for looking for unsupported ones. This patch should be simple to backport to older version of Mercurial and packager should be encouraged to do so. This is a graft of d9017df70135 from default. Differential Revision: https://phab.mercurial-scm.org/D12091

File last commit:

r49250:000130cf default
r49522:6d2ddea0 stable
Show More
test-dirstate.t
105 lines | 2.1 KiB | text/troff | Tads3Lexer
Simon Sapin
dirstate: Remove the flat Rust DirstateMap implementation...
r48882 #testcases dirstate-v1 dirstate-v2
Simon Sapin
dirstate-tree: Add a dirstate-v1-tree variant of some tests...
r47900
Simon Sapin
dirstate-v2: Add a variant of some tests, that uses the new format...
r48056 #if dirstate-v2
dirstate-v2: add an option to prevent unintentional slow dirstate-v2...
r49049 $ cat >> $HGRCPATH << EOF
> [format]
dirstate-v2: freeze the on-disk format...
r49116 > exp-rc-dirstate-v2=1
dirstate-v2: add an option to prevent unintentional slow dirstate-v2...
r49049 > [storage]
> dirstate-v2.slow-path=allow
> EOF
Simon Sapin
dirstate-v2: Add a variant of some tests, that uses the new format...
r48056 #endif
Adrian Buehlmann
tests: combine test-dirstate-future.t...
r11888 ------ Test dirstate._dirs refcounting
Adrian Buehlmann
tests: unify test-dirstatedirs
r11887
$ hg init t
$ cd t
$ mkdir -p a/b/c/d
$ touch a/b/c/d/x
$ touch a/b/c/d/y
$ touch a/b/c/d/z
$ hg ci -Am m
adding a/b/c/d/x
adding a/b/c/d/y
adding a/b/c/d/z
$ hg mv a z
Matt Harbison
tests: remove (glob) annotations that were only for '\' matches...
r35394 moving a/b/c/d/x to z/b/c/d/x
moving a/b/c/d/y to z/b/c/d/y
moving a/b/c/d/z to z/b/c/d/z
Joshua Redstone
dirstate: add dir/file collision test...
r17095
Test name collisions
$ rm z/b/c/d/x
$ mkdir z/b/c/d/x
$ touch z/b/c/d/x/y
$ hg add z/b/c/d/x/y
abort: file 'z/b/c/d/x' in dirstate clashes with 'z/b/c/d/x/y'
[255]
$ rm -rf z/b/c/d
$ touch z/b/c/d
$ hg add z/b/c/d
abort: directory 'z/b/c/d' already in dirstate
[255]
Adrian Buehlmann
tests: combine test-dirstate-future.t...
r11888 $ cd ..
Adrian Buehlmann
tests: unify test-dirstatedirs
r11887
Martin Geisler
tests: added a short description to issue numbers...
r12399 Issue1790: dirstate entry locked into unset if file mtime is set into
the future
Adrian Buehlmann
tests: combine test-dirstate-future.t...
r11888
Prepare test repo:
$ hg init u
$ cd u
$ echo a > a
$ hg add
adding a
$ hg ci -m1
Set mtime of a into the future:
dirstate: push back the future a bit in the test...
r48926 $ touch -t 203101011200 a
Adrian Buehlmann
tests: combine test-dirstate-future.t...
r11888
Status must not set a's entry to unset (issue1790):
$ hg status
$ hg debugstate
dirstate: push back the future a bit in the test...
r48926 n 644 2 2031-01-01 12:00:00 a
Matt Mackall
dirstate: handle large dates and times with masking (issue2608)...
r17733
Test modulo storage/comparison of absurd dates:
Adrian Buehlmann
tests: combine test-dirstate-future.t...
r11888
Jim Hague
tests: AIX can't handle negative date in test-dirstate.t...
r19092 #if no-aix
Matt Mackall
dirstate: handle large dates and times with masking (issue2608)...
r17733 $ touch -t 195001011200 a
$ hg st
$ hg debugstate
n 644 2 2018-01-19 15:14:08 a
Jim Hague
tests: AIX can't handle negative date in test-dirstate.t...
r19092 #endif
Durham Goode
dirstate: add test for exceptions during updates...
r22406
Verify that exceptions during a dirstate change leave the dirstate
coherent (issue4353)
$ cat > ../dirstateexception.py <<EOF
Augie Fackler
tests: update test-dirstate to pass our import checker
r33956 > from __future__ import absolute_import
> from mercurial import (
> error,
> extensions,
Augie Fackler
mergestate: split out merge state handling code from main merge module...
r45383 > mergestate as mergestatemod,
Augie Fackler
tests: update test-dirstate to pass our import checker
r33956 > )
Durham Goode
dirstate: add test for exceptions during updates...
r22406 >
Valentin Gatien-Baron
merge: fix race that could cause wrong size in dirstate...
r42656 > def wraprecordupdates(*args):
Martin von Zweigbergk
errors: stop passing non-strings to Abort's constructor...
r46273 > raise error.Abort(b"simulated error while recording dirstateupdates")
Durham Goode
dirstate: add test for exceptions during updates...
r22406 >
> def reposetup(ui, repo):
Augie Fackler
mergestate: split out merge state handling code from main merge module...
r45383 > extensions.wrapfunction(mergestatemod, 'recordupdates',
> wraprecordupdates)
Durham Goode
dirstate: add test for exceptions during updates...
r22406 > EOF
$ hg rm a
$ hg commit -m 'rm a'
$ echo "[extensions]" >> .hg/hgrc
$ echo "dirstateex=../dirstateexception.py" >> .hg/hgrc
$ hg up 0
abort: simulated error while recording dirstateupdates
[255]
$ hg log -r . -T '{rev}\n'
1
$ hg status
? a