extensions: recommend against using wrapfunction for repo methods
Instead, all extensions should use the "dynamic subclass" trick:
subclass repo.__class__ and then replace repo.__class__ with your new
subclass. This avoids conflicts that happen when one extension uses
wrapfunction and another uses subclassing to extend the same method of
localrepository.
#!/bin/sh
cat >> $HGRCPATH <<EOF
[extensions]
hgcia=
[hooks]
changegroup.cia = python:hgext.hgcia.hook
[cia]
user = testuser
project = testproject
test = True
EOF
hg init src
hg init cia
cd src
echo foo > foo
hg ci -Amfoo
hg push ../cia