Mercurial > hg
view tests/test-mq-caches @ 9315:fb66a7d3f28f
dispatch: also pass level argument to __import__ for ignored modules
I wanted to check if mercurial.demandimport could speed up the loading of
PyObjC, and ran into this: the level argument for __import__, available in
Python 2.5 and later, is silently dropped when doing an 'import *'. I have no
idea what these arguments mean, but this minor change made it work.
(Oh, and because of that 'from ... import *', PyObjC still took about 2s...)
author | Dan Villiom Podlaski Christiansen <danchr@gmail.com> |
---|---|
date | Wed, 05 Aug 2009 17:19:37 +0200 |
parents | 5b7da468531b |
children | bb5ea66789e3 |
line wrap: on
line source
#!/bin/sh branches=.hg/branchheads.cache echo '[extensions]' >> $HGRCPATH echo 'hgext.mq=' >> $HGRCPATH show_branch_cache() { # force cache (re)generation hg log -r does-not-exist 2> /dev/null hg log -r tip --template 'tip: {rev}\n' if [ -f $branches ]; then sort $branches else echo No branch cache fi if [ "$1" = 1 ]; then for b in foo bar; do hg log -r $b --template "branch $b: "'{rev}\n' done fi } hg init a cd a hg qinit -c echo '# mq patch on an empty repo' hg qnew p1 show_branch_cache echo > pfile hg add pfile hg qrefresh -m 'patch 1' show_branch_cache echo echo '# some regular revisions' hg qpop echo foo > foo hg add foo echo foo > .hg/branch hg ci -m 'branch foo' -d '1000000 0' echo bar > bar hg add bar echo bar > .hg/branch hg ci -m 'branch bar' -d '1000000 0' show_branch_cache echo echo '# add some mq patches' hg qpush show_branch_cache hg qnew p2 echo foo > .hg/branch echo foo2 >> foo hg qrefresh -m 'patch 2' show_branch_cache 1 echo echo '# removing the cache' rm $branches show_branch_cache 1 echo echo '# importing rev 1 (the cache now ends in one of the patches)' hg qimport -r 1 -n p0 show_branch_cache 1 hg log -r qbase --template 'qbase: {rev}\n' echo echo '# detect an invalid cache' hg qpop -a hg qpush -a show_branch_cache