mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
debugdirstate: add command to rebuildstate test to modify dirstate
Debugging the dirstate helps if you have options to add files for normal lookup or drop them from the dirstate. This patch adds a convenience command to test-rebuilddirstate.t to modify the dirstate. It will be used in the next patch to write proper tests for debugrebuilddirstate --minimal
This commit is contained in:
parent
3d618fe024
commit
02e3cfd53a
@ -1,3 +1,34 @@
|
||||
|
||||
$ cat > adddrop.py <<EOF
|
||||
> from mercurial import cmdutil
|
||||
> cmdtable = {}
|
||||
> command = cmdutil.command(cmdtable)
|
||||
> @command('debugadddrop',
|
||||
> [('', 'drop', False, 'drop file from dirstate', 'FILE'),
|
||||
> ('', 'normal-lookup', False, 'add file to dirstate', 'FILE')],
|
||||
> 'hg debugadddrop')
|
||||
> 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:
|
||||
> repo.dirstate.drop(file)
|
||||
>
|
||||
> repo.dirstate.write(repo.currenttransaction())
|
||||
> finally:
|
||||
> wlock.release()
|
||||
> EOF
|
||||
|
||||
$ echo "[extensions]" >> $HGRCPATH
|
||||
$ echo "debugadddrop=`pwd`/adddrop.py" >> $HGRCPATH
|
||||
|
||||
basic test for hg debugrebuildstate
|
||||
|
||||
$ hg init repo
|
||||
@ -20,6 +51,15 @@ state dump after
|
||||
n 644 -1 set bar
|
||||
n 644 -1 set foo
|
||||
|
||||
$ hg debugadddrop --normal-lookup file1 file2
|
||||
$ hg debugadddrop --drop bar
|
||||
$ hg debugadddrop --drop
|
||||
$ hg debugstate --nodates
|
||||
n 0 -1 unset file1
|
||||
n 0 -1 unset file2
|
||||
n 644 -1 set foo
|
||||
$ hg debugrebuildstate
|
||||
|
||||
status
|
||||
|
||||
$ hg st -A
|
||||
|
Loading…
Reference in New Issue
Block a user