test-rebuildstate.t
125 lines
| 2.9 KiB
| text/troff
|
Tads3Lexer
/ tests / test-rebuildstate.t
|
r27174 | |||
$ cat > adddrop.py <<EOF | ||||
|
r32337 | > from mercurial import registrar | ||
|
r27174 | > cmdtable = {} | ||
|
r32337 | > command = registrar.command(cmdtable) | ||
|
r33097 | > @command(b'debugadddrop', | ||
|
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') | ||||
|
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'): | ||||
> repo.dirstate.normallookup(file) | ||||
> else: | ||||
r48407 | > repo.dirstate._drop(file) | |||
|
r27174 | > | ||
> repo.dirstate.write(repo.currenttransaction()) | ||||
> finally: | ||||
> wlock.release() | ||||
> EOF | ||||
$ echo "[extensions]" >> $HGRCPATH | ||||
$ echo "debugadddrop=`pwd`/adddrop.py" >> $HGRCPATH | ||||
|
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 | ||||
|
r39796 | $ hg debugstate --no-dates | sort | ||
|
r30026 | n 0 -1 unset bar | ||
n 0 -1 unset foo | ||||
|
r12121 | |||
|
r27174 | $ hg debugadddrop --normal-lookup file1 file2 | ||
$ hg debugadddrop --drop bar | ||||
$ hg debugadddrop --drop | ||||
|
r39796 | $ hg debugstate --no-dates | ||
|
r27174 | n 0 -1 unset file1 | ||
n 0 -1 unset file2 | ||||
|
r30026 | n 0 -1 unset foo | ||
|
r27174 | $ hg debugrebuildstate | ||
|
r12121 | status | ||
$ hg st -A | ||||
! bar | ||||
? baz | ||||
C foo | ||||
|
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 | ||||
|
r39796 | $ hg debugdirstate --no-dates | ||
|
r27175 | r 0 0 * bar (glob) | ||
n 0 -1 * baz (glob) | ||||
n 644 0 * foo (glob) | ||||
a 0 -1 * qux (glob) | ||||
$ hg debugrebuilddirstate --minimal | ||||
|
r39796 | $ hg debugdirstate --no-dates | ||
|
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 | ||||
|
r39796 | $ hg debugdirstate --no-dates | ||
|
r27175 | r 0 0 * bar (glob) | ||
n 644 0 * foo (glob) | ||||
a 0 -1 * qux (glob) | ||||
$ hg debugadddrop --drop foo | ||||
|
r39796 | $ hg debugdirstate --no-dates | ||
|
r27175 | r 0 0 * bar (glob) | ||
a 0 -1 * qux (glob) | ||||
$ hg debugrebuilddirstate --minimal | ||||
|
r39796 | $ hg debugdirstate --no-dates | ||
|
r27175 | r 0 0 * bar (glob) | ||
|
r30026 | n 0 -1 * foo (glob) | ||
|
r27175 | a 0 -1 * qux (glob) | ||
$ hg status -A | ||||
A qux | ||||
R bar | ||||
? baz | ||||
C foo | ||||