##// END OF EJS Templates
revlog: extract function for getting node from known-to-exist rev...
revlog: extract function for getting node from known-to-exist rev Many of the calls to index_node() (which converts a rev to a nodeid) are done with a rev that's know to exist. If the function fails, there's something really wrong and we should just abort. This was done in only one place. This patch starts by extracting that code to a function that we can reuse in later patches. Differential Revision: https://phab.mercurial-scm.org/D3456

File last commit:

r33956:b9765319 default
r37877:a91f31a1 default
Show More
test-dirstate.t
93 lines | 1.9 KiB | text/troff | Tads3Lexer
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:
$ touch -t 202101011200 a
Status must not set a's entry to unset (issue1790):
$ hg status
$ hg debugstate
n 644 2 2021-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,
> merge,
> )
Durham Goode
dirstate: add test for exceptions during updates...
r22406 >
> def wraprecordupdates(orig, repo, actions, branchmerge):
Pierre-Yves David
error: get Abort from 'error' instead of 'util'...
r26587 > raise error.Abort("simulated error while recording dirstateupdates")
Durham Goode
dirstate: add test for exceptions during updates...
r22406 >
> def reposetup(ui, repo):
> extensions.wrapfunction(merge, 'recordupdates', wraprecordupdates)
> 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