##// END OF EJS Templates
dirstate: rename parentchange to changing_parents...
dirstate: rename parentchange to changing_parents Since the new argument breaks the API anyway, we can rename it to a better name. The previous name `parentchange` might be seen as something active, a function that would directly change the parents, however this is just a context manager to frame the operation that will change the parents and adjust the dirstate content accordingly. In addition, the future sister method that will be about changes to tracking and files would have a hard time fitting in the same naming scheme in a clear way. The new naming uses a clear prefix will make it more distinct from other dirstate methods and easier to extend with other similar contexts.

File last commit:

r50855:7a8bfc05 default
r50855:7a8bfc05 default
Show More
test-rebuildstate.t
134 lines | 3.2 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: rename parentchange to changing_parents...
r50855 > with repo.dirstate.changing_parents(repo):
dirstate: stop using `_normallookup` in the adddrop extension...
r48807 > 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: use `reset_state` instead of `dropfile` in test-rebuildstate.t...
r48816 > repo.dirstate._map.reset_state(file)
dirstate: inline the last two `_drop` usage...
r48802 > 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
tests: remove potential mtime ambiguity in a dirstate test...
r49223 $ sleep 1 # remove potential ambiguity in mtime
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 $ 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
tests: remove potential mtime ambiguity in a dirstate test...
r49223 $ sleep 1 # remove potential ambiguity in mtime
Christian Delahousse
debugrebuilddirstate: added tests for --minimal flag...
r27175 $ 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