##// END OF EJS Templates
dirstate: use `reset_state` instead of `dropfile` in largefile...
dirstate: use `reset_state` instead of `dropfile` in largefile As `dirstatemap.dropfile` is on its way out. Differential Revision: https://phab.mercurial-scm.org/D11441

File last commit:

r48807:eb1f8d6e default
r48815:af84aa1a default
Show More
test-rebuildstate.t
132 lines | 3.1 KiB | text/troff | Tads3Lexer
/ tests / test-rebuildstate.t
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174
$ cat > adddrop.py <<EOF
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 > from mercurial import registrar
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174 > cmdtable = {}
Yuya Nishihara
registrar: move cmdutil.command to registrar module (API)...
r32337 > command = registrar.command(cmdtable)
Pulkit Goyal
py3: make sure commands name are bytes in tests
r33097 > @command(b'debugadddrop',
Pulkit Goyal
py3: add b'' prefixes in tests/test-rebuildstate.t...
r38088 > [(b'', b'drop', False, b'drop file from dirstate', b'FILE'),
> (b'', b'normal-lookup', False, b'add file to dirstate', b'FILE')],
> b'hg debugadddrop')
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174 > def debugadddrop(ui, repo, *pats, **opts):
> '''Add or drop unnamed arguments to or from the dirstate'''
> drop = opts.get('drop')
> nl = opts.get('normal_lookup')
> if nl and drop:
> raise error.Abort('drop and normal-lookup are mutually exclusive')
> wlock = repo.wlock()
> try:
> for file in pats:
> if opts.get('normal_lookup'):
dirstate: stop using `_normallookup` in the adddrop extension...
r48807 > with repo.dirstate.parentchange():
> repo.dirstate.update_file(
> file,
> p1_tracked=True,
> wc_tracked=True,
> possibly_dirty=True,
> )
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174 > else:
dirstate: inline the last two `_drop` usage...
r48802 > repo.dirstate._map.dropfile(file)
> repo.dirstate._dirty = True
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174 >
> repo.dirstate.write(repo.currenttransaction())
> finally:
> wlock.release()
> EOF
$ echo "[extensions]" >> $HGRCPATH
$ echo "debugadddrop=`pwd`/adddrop.py" >> $HGRCPATH
Nicolas Dumazet
tests: unify test-rebuildstate
r12121 basic test for hg debugrebuildstate
$ hg init repo
$ cd repo
$ touch foo bar
$ hg ci -Am 'add foo bar'
adding bar
adding foo
$ touch baz
$ hg add baz
$ hg rm bar
$ hg debugrebuildstate
state dump after
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugstate --no-dates | sort
Mateusz Kwapich
dirstate: rebuild should update dirstate properly...
r30026 n 0 -1 unset bar
n 0 -1 unset foo
Nicolas Dumazet
tests: unify test-rebuildstate
r12121
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174 $ hg debugadddrop --normal-lookup file1 file2
$ hg debugadddrop --drop bar
$ hg debugadddrop --drop
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugstate --no-dates
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174 n 0 -1 unset file1
n 0 -1 unset file2
Mateusz Kwapich
dirstate: rebuild should update dirstate properly...
r30026 n 0 -1 unset foo
Christian Delahousse
debugdirstate: add command to rebuildstate test to modify dirstate...
r27174 $ hg debugrebuildstate
Nicolas Dumazet
tests: unify test-rebuildstate
r12121 status
$ hg st -A
! bar
? baz
C foo
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 Test debugdirstate --minimal where a file is not in parent manifest
but in the dirstate
$ touch foo bar qux
$ hg add qux
$ hg remove bar
$ hg status -A
A qux
R bar
? baz
C foo
$ hg debugadddrop --normal-lookup baz
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugdirstate --no-dates
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 r 0 0 * bar (glob)
n 0 -1 * baz (glob)
n 644 0 * foo (glob)
a 0 -1 * qux (glob)
$ hg debugrebuilddirstate --minimal
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugdirstate --no-dates
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 r 0 0 * bar (glob)
n 644 0 * foo (glob)
a 0 -1 * qux (glob)
$ hg status -A
A qux
R bar
? baz
C foo
Test debugdirstate --minimal where file is in the parent manifest but not the
dirstate
$ hg manifest
bar
foo
$ hg status -A
A qux
R bar
? baz
C foo
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugdirstate --no-dates
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 r 0 0 * bar (glob)
n 644 0 * foo (glob)
a 0 -1 * qux (glob)
$ hg debugadddrop --drop foo
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugdirstate --no-dates
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 r 0 0 * bar (glob)
a 0 -1 * qux (glob)
$ hg debugrebuilddirstate --minimal
Martin von Zweigbergk
debugdirstate: deprecate --nodates in favor of --no-dates...
r39796 $ hg debugdirstate --no-dates
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 r 0 0 * bar (glob)
Mateusz Kwapich
dirstate: rebuild should update dirstate properly...
r30026 n 0 -1 * foo (glob)
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 a 0 -1 * qux (glob)
$ hg status -A
A qux
R bar
? baz
C foo