##// END OF EJS Templates
extensions: register functions always at loading extension (issue5601)...
extensions: register functions always at loading extension (issue5601) Before this patch, functions defined in extensions are registered via extra loaders only in _dispatch(). Therefore, loading extensions in other code paths like below omits registration of functions. - WSGI service - operation across repositories (e.g. subrepo) - test-duplicateoptions.py, using extensions.loadall() directly To register functions always at loading new extension, this patch moves implementation for extra loading from dispatch._dispatch() to extensions.loadall(). AFAIK, only commands module causes cyclic dependency between extensions module, but this patch imports all related modules just before extra loading in loadall(), in order to centralize them. This patch makes extensions.py depend on many other modules, even though extensions.py itself doesn't. It should be avoided if possible, but I don't have any better idea. Some other places like below aren't reasonable for extra loading, IMHO. - specific function in newly added module: existing callers of extensions.loadall() should invoke it, too - hg.repository() or so: no-repo commands aren't covered by this. BTW, this patch removes _loaded.add(name) on relocation, because dispatch._loaded is used only for extraloaders (for similar reason, "exts" variable is removed, too).

File last commit:

r26780:bbf544b5 default
r33052:45b0e9d0 default
Show More
test-mq-qgoto.t
93 lines | 1.4 KiB | text/troff | Tads3Lexer
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ echo "[extensions]" >> $HGRCPATH
$ echo "mq=" >> $HGRCPATH
$ hg init a
$ cd a
$ echo a > a
$ hg ci -Ama
adding a
$ hg qnew a.patch
$ echo a >> a
$ hg qrefresh
$ hg qnew b.patch
$ echo b > b
$ hg add b
$ hg qrefresh
$ hg qnew c.patch
$ echo c > c
$ hg add c
$ hg qrefresh
$ hg qgoto a.patch
popping c.patch
popping b.patch
now at: a.patch
$ hg qgoto c.patch
applying b.patch
applying c.patch
now at: c.patch
$ hg qgoto b.patch
popping c.patch
now at: b.patch
Using index:
$ hg qgoto 0
popping b.patch
now at: a.patch
$ hg qgoto 2
applying b.patch
applying c.patch
now at: c.patch
Mads Kiilerich
mq: fix qpop of working directory parent patch when not at qtip...
r18342 No warnings when using index ... and update from non-qtip and with pending
changes in unrelated files:
Adrian Buehlmann
tests: unify some of test-mq*
r12324
$ hg qnew bug314159
$ echo d >> c
$ hg qrefresh
$ hg qnew bug141421
Mads Kiilerich
mq: fix qpop of working directory parent patch when not at qtip...
r18342 $ echo e >> b
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ hg qrefresh
Mads Kiilerich
mq: fix qpop of working directory parent patch when not at qtip...
r18342 $ hg up -r bug314159
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo f >> a
$ echo f >> b
$ echo f >> c
Adrian Buehlmann
tests: unify some of test-mq*
r12324 $ hg qgoto 1
timeless@mozdev.org
mq: consistently use qrefresh
r26780 abort: local changes found, qrefresh first
Mads Kiilerich
mq: fix qpop of working directory parent patch when not at qtip...
r18342 [255]
$ hg qgoto 1 -f
Adrian Buehlmann
tests: unify some of test-mq*
r12324 popping bug141421
popping bug314159
popping c.patch
now at: b.patch
Mads Kiilerich
mq: fix qpop of working directory parent patch when not at qtip...
r18342 $ hg st
M a
M b
? c.orig
$ hg up -qCr.
Adrian Buehlmann
tests: unify some of test-mq*
r12324
$ hg qgoto 3
applying c.patch
applying bug314159
now at: bug314159
Detect ambiguous non-index:
$ hg qgoto 14
patch name "14" is ambiguous:
bug314159
bug141421
abort: patch 14 not in series
[255]
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..