Missing documentation about multiple inheritance
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Buildout |
New
|
Undecided
|
Unassigned |
Bug Description
As of version 1.6.2 (as of 2012-10-16, it also affects
development branches), the only reference to multiple
inheritance in documentation seems to be in "Multiple
configuration files" section. See :
* https:/
* https:/
The example deals with a buildout.cfg file which extends
b1.cfg, b2.cfg and b3.cfg.
The option "op2" in "debug" section is defined in both `b1.cfg
<https:/
and `b2.cfg
<https:/
As a result, `op2 is assigned the value set in b2.cfg which
overrides the value set in b1.cfg
<https:/
I feel the current example doesn't explain the multiple
inheritance feature:
* what is multiple inheritance meant for? What are typical
use cases?
* why do op2 only get the value defined in b2.cfg? What is
the underlying rule?
* which rules are applied when we use "+=" and "-=" operators
on bases (i.e. what if in b3.cfg we got ``op2 += b3`` and/or
``op2 -= b2``).
.. note::
This ticket is a counterpart of
https:/
* this ticket is about documenting current feature and
implementa
* https:/
whether current implementation is bogus and proposes some
changes.
So, resolving this ticket may result in #1060236 being marked
as "wontfix" or being confirmed.
In https:/ /bugs.launchpad .net/zc. buildout/ +bug/1060236,
Encolpe Degoute (encolpe) wrote on 2012-10-12:
> The documentation is not clear about that but there's no bug there. /github. com/collective/ zopeskel. unis
>
> You can see how to you can use extends and += look at this package:
> https:/
As an example, see https:/ /github. com/collective/ zopeskel. unis/blob/ master/ zopeskel/ unis/templates/ unis_plone4_ buildout/ profiles/ standalone. cfg_tmpl and its bases.