hi Guenter,
I doubt publishing unambiguous patches would be any easier with filesystem-based extern hierarchies, unless:
extra, and another version of prepend in extra/evenbetter, the clash between [prepend], and [evenbetter/prepend] remains, because if the latter is created first, it will register the plain "prepend" name as well);
the -path option is either banned, or stored with the patch;
using libraries is banned.
While (1) is probably doable, (2) and (3) seem not.
Anyway, I think, its easier to ask developers for renaming all but one of each of the equivocal classes (e.g. by adding an explicit, obligatory prefix), instead of 1. asking developers for never including potentially clashing classes in a library, and 2. asking maintainers for placing all potentially clashing externs in separate subdirectories, and 3. asking users to always prepend subdir name to any potentially ambiguous object name in any published patch.
Never using extern hierarchies, we get an extra bonus of always being able to safely resolve abstraction names against potentially shadowing class names, by placing all abstractions a level down relative to the main patch's directory, and releasing the whole bundle as a tarball.
Krzysztof
guenter geiger wrote: ...
This actually means that we have a namespace system implemented, we just have to use it.