avoid _wsgioutputfile <-> _wsgirequest circular reference
We use the _wsgirequest object itself as the output file object.
To avoid a "self.out = self" which would create another circular
reference, we make the "out" attribute a trivial property.
hgwebdir: break templater -> templater circular reference
This is essentially another instance of the same problem fixed
by the parent changeset. See its commit message for the details.
hgweb: break templater -> templater circular reference
The problem were some functions passed in the "defaults" argument
during the templater creation which use "self.t" directly. This
creates the cycle:
hgweb object
-> templater object
-> defaults dict
-> footer function
-> hgweb object
Instead of completely avoding the cycle, we break it after using
the templater.
Tests for qapplied/qunapplied fixes (
417c2068cb92 and
ce6c364ebb2a)
Simplified qseries and hg qapplied to fix some bugs caused by optimization:
- hg qapplied -v now works consistendly to hg qunapplied -v, i.e. showing
guarded (or unapplied because they were guarded during hg qpush) patches.
- hg qapplied <patchname> now works again