Mercurial > hg
changeset 18217:46cc3b74e1c5
mq: drop `_cacheabletip` usage
Strip have dedicated work around to solve the same problem, strip is even a
fraction faster without that thanks to simpler update process of the branchcache.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Fri, 28 Dec 2012 03:42:21 +0100 |
parents | 46f624780ee8 |
children | d5655e742457 |
files | hgext/mq.py tests/test-mq-caches.t tests/test-mq-qpush-fail.t |
diffstat | 3 files changed, 0 insertions(+), 147 deletions(-) [+] |
line wrap: on
line diff
--- a/hgext/mq.py Fri Dec 28 02:34:32 2012 +0100 +++ b/hgext/mq.py Fri Dec 28 03:42:21 2012 +0100 @@ -3469,26 +3469,6 @@ return result - def _cacheabletip(self): - q = self.mq - cl = self.changelog - qbase = None - if not q.applied: - if getattr(self, '_committingpatch', False): - # Committing a new patch, must be tip - qbase = len(cl) - 1 - else: - qbasenode = q.applied[0].node - try: - qbase = self.unfiltered().changelog.rev(qbasenode) - except error.LookupError: - self.ui.warn(_('mq status file refers to unknown node %s\n') - % short(qbasenode)) - ret = super(mqrepo, self)._cacheabletip() - if qbase is not None: - ret = min(qbase - 1, ret) - return ret - if repo.local(): repo.__class__ = mqrepo
--- a/tests/test-mq-caches.t Fri Dec 28 02:34:32 2012 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,126 +0,0 @@ - $ branches=.hg/cache/branchheads - $ echo '[extensions]' >> $HGRCPATH - $ echo '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 - - -mq patch on an empty repo - - $ hg qnew -d '0 0' p1 - $ show_branch_cache - tip: 0 - No branch cache - - $ echo > pfile - $ hg add pfile - $ hg qrefresh -m 'patch 1' - $ show_branch_cache - tip: 0 - d986d5caac23a7d44a46efc0ddaf5eb9665844cf 0 - d986d5caac23a7d44a46efc0ddaf5eb9665844cf default - -some regular revisions - - $ hg qpop - popping p1 - patch queue now empty - $ echo foo > foo - $ hg add foo - $ echo foo > .hg/branch - $ hg ci -m 'branch foo' - - $ echo bar > bar - $ hg add bar - $ echo bar > .hg/branch - $ hg ci -m 'branch bar' - $ show_branch_cache - tip: 1 - c229711f16da3d7591f89b1b8d963b79bda22714 1 - c229711f16da3d7591f89b1b8d963b79bda22714 bar - dc25e3827021582e979f600811852e36cbe57341 foo - -add some mq patches - - $ hg qpush - applying p1 - now at: p1 - $ show_branch_cache - tip: 2 - c229711f16da3d7591f89b1b8d963b79bda22714 1 - c229711f16da3d7591f89b1b8d963b79bda22714 bar - dc25e3827021582e979f600811852e36cbe57341 foo - - $ hg qnew -d '0 0' p2 - $ echo foo > .hg/branch - $ echo foo2 >> foo - $ hg qrefresh -m 'patch 2' - $ show_branch_cache 1 - tip: 3 - 982611f6955f9c48d3365decea203217c945ef0d 2 - 982611f6955f9c48d3365decea203217c945ef0d bar - dc25e3827021582e979f600811852e36cbe57341 foo - branch foo: 3 - branch bar: 2 - -removing the cache - - $ rm $branches - $ show_branch_cache 1 - tip: 3 - c229711f16da3d7591f89b1b8d963b79bda22714 1 - c229711f16da3d7591f89b1b8d963b79bda22714 bar - dc25e3827021582e979f600811852e36cbe57341 foo - branch foo: 3 - branch bar: 2 - -importing rev 1 (the cache now ends in one of the patches) - - $ hg qimport -r 1 -n p0 - $ show_branch_cache 1 - tip: 3 - c229711f16da3d7591f89b1b8d963b79bda22714 1 - c229711f16da3d7591f89b1b8d963b79bda22714 bar - dc25e3827021582e979f600811852e36cbe57341 foo - branch foo: 3 - branch bar: 2 - $ hg log -r qbase --template 'qbase: {rev}\n' - qbase: 1 - -detect an invalid cache - - $ hg qpop -a - popping p2 - popping p1 - popping p0 - patch queue now empty - $ hg qpush -a - applying p0 - applying p1 - applying p2 - now at: p2 - $ show_branch_cache - tip: 3 - dc25e3827021582e979f600811852e36cbe57341 0 - dc25e3827021582e979f600811852e36cbe57341 foo - - $ cd ..
--- a/tests/test-mq-qpush-fail.t Fri Dec 28 02:34:32 2012 +0100 +++ b/tests/test-mq-qpush-fail.t Fri Dec 28 03:42:21 2012 +0100 @@ -61,7 +61,6 @@ patch queue now empty $ cp .hg/patches/status.orig .hg/patches/status $ hg qpush - mq status file refers to unknown node * (glob) abort: working directory revision is not qtip [255] $ rm .hg/patches/status .hg/patches/status.orig