• Julien Muchembled's avatar
    Do not reprocess already extended files · ec8f60fa
    Julien Muchembled authored
    extends can be interpreted as inheritance in OOP, but the original
    behaviour was against what is commonly (always?) seen everywhere.
    
    It is however good practice a file extends all files it needs directly
    (and only them). Then if two files A & B (possibly unrelated) extends
    the same third C, A was unable to overrides C values. It was even
    error-prone because someone who don't use B yet could override C values
    in A and later extending B would break A.
    
    For some of our common use cases, this new algorithm is also 9x faster
    (time to annotate: ~2.3s with -> ~.29s).
    
    Other changes:
    - ~/ is now expanded for non-url extends.
    - An absolute (non-url) path is not longer treated like a local path
      if the base is a url.
    - Better path/url normalization.
    
    Rebase instructions:
    - squash with "Chomp ../ from beginging of filenames"
    - split and apply "Support ${:_profile_base_location_}." after
    ec8f60fa
Name
Last commit
Last update
bootstrap Loading commit data...
doc Loading commit data...
specifications Loading commit data...
src/zc Loading commit data...
zc.recipe.egg_ Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CHANGES.SlapOS.rst Loading commit data...
CHANGES.rst Loading commit data...
COPYRIGHT.txt Loading commit data...
DEVELOPERS.txt Loading commit data...
LICENSE.txt Loading commit data...
MANIFEST.in Loading commit data...
Makefile Loading commit data...
README.rst Loading commit data...
buildout.cfg Loading commit data...
dev.py Loading commit data...
setup.cfg Loading commit data...
setup.py Loading commit data...
tox.ini Loading commit data...