Mercurial > hg
view contrib/convert-repo @ 19845:a1237a4b437d stable
repoview: make propertycache.setcache compatible with repoview
Propertycache used standard attribute assignment. In the repoview case, this
assignment was forwarded to the unfiltered repo. This result in:
(1) unfiltered repo got a potentially wrong cache value,
(2) repoview never reused the cached value.
This patch replaces the standard attribute assignment by an assignment to
`objc.__dict__` which will bypass the `repoview.__setattr__`. This will not
affects other `propertycache` users and it is actually closer to the semantic we
need.
The interaction of `propertycache` and `repoview` are now tested in a python
test file.
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Mon, 30 Sep 2013 14:36:11 +0200 |
parents | 1d3eb332f3cb |
children |
line wrap: on
line source
#!/usr/bin/env python # # Wrapper script around the convert.py hgext extension # for foreign SCM conversion to mercurial format. # import sys from mercurial import ui, fancyopts from hgext import convert # Options extracted from the cmdtable func, options, help = convert.cmdtable['convert'] # An ui instance u = ui.ui() opts = {} args = [] try: args = list(fancyopts.fancyopts(sys.argv[1:], options, opts)) args += [None]*(3 - len(args)) src, dest, revmapfile = args except (fancyopts.getopt.GetoptError, ValueError), inst: u.warn('Usage:\n%s\n' % help) sys.exit(-1) convert.convert(u, src, dest, revmapfile, **opts)