Mercurial > public > mercurial-scm > hg
annotate contrib/debugshell.py @ 19136:e073ac988b51
match: introduce explicitdir and traversedir
match.dir is currently called in two different places:
(1) noting when a directory specified explicitly is visited.
(2) noting when a directory is visited during a recursive walk.
purge cares about both, but commit only cares about the first.
Upcoming patches will split the two cases into two different callbacks. Why
bother? Consider a hypothetical extension that can provide more efficient walk
results, via e.g. watching the filesystem. That extension will need to
fall back to a full recursive walk if a callback is set for (2), but not if a
callback is only set for (1).
author | Siddharth Agarwal <sid0@fb.com> |
---|---|
date | Sun, 28 Apr 2013 21:24:09 -0700 |
parents | 6b7b99867ada |
children | 3bc675361206 |
rev | line source |
---|---|
11633 | 1 # debugshell extension |
2 """a python shell with repo, changelog & manifest objects""" | |
3 | |
4 import mercurial | |
5 import code | |
6 | |
7 def debugshell(ui, repo, **opts): | |
8 objects = { | |
9 'mercurial': mercurial, | |
10 'repo': repo, | |
11 'cl': repo.changelog, | |
12 'mf': repo.manifest, | |
13 } | |
14 bannermsg = "loaded repo : %s\n" \ | |
15 "using source: %s" % (repo.root, | |
16 mercurial.__path__[0]) | |
17 code.interact(bannermsg, local=objects) | |
18 | |
19 cmdtable = { | |
20 "debugshell|dbsh": (debugshell, []) | |
21 } |