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.
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include guids.wxi ?>
<?include defines.wxi ?>
<Fragment>
<ComponentGroup Id="contribFolder">
<ComponentRef Id="contrib" />
<ComponentRef Id="contrib.vim" />
</ComponentGroup>
</Fragment>
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Directory Id="contribdir" Name="contrib" FileSource="$(var.SourceDir)">
<Component Id="contrib" Guid="$(var.contrib.guid)" Win64='$(var.IsX64)'>
<File Name="bash_completion" KeyPath="yes" />
<File Name="hgk" />
<File Name="hgweb.fcgi" />
<File Name="hgweb.wsgi" />
<File Name="logo-droplets.svg" />
<File Name="mercurial.el" />
<File Name="sample.hgrc" />
<File Name="tcsh_completion" />
<File Name="tcsh_completion_build.sh" />
<File Name="xml.rnc" />
<File Name="zsh_completion" />
</Component>
<Directory Id="vimdir" Name="vim">
<Component Id="contrib.vim" Guid="$(var.contrib.vim.guid)" Win64='$(var.IsX64)'>
<File Name="hg-menu.vim" KeyPath="yes" />
<File Name="HGAnnotate.vim" />
<File Name="hgcommand.vim" />
<File Name="patchreview.txt" />
<File Name="patchreview.vim" />
<File Name="hgtest.vim" />
</Component>
</Directory>
</Directory>
</DirectoryRef>
</Fragment>
</Wix>