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.
% test file addition with bad case
adding a
A a
a
% test case collision on rename (issue 750)
adding a
a
committed changeset 0:07f4944404050f47db2e5c5071e0e84e7a27bba9
A: not overwriting - file exists
% test case collision between revisions (issue 912)
adding a
adding A
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
1 files updated, 0 files merged, 1 files removed, 0 files unresolved