Modules
Colin Putney
cputney at wiresong.ca
Mon Feb 28 04:37:52 UTC 2005
Hi Florin,
I think I understand what you're getting at now. You prefer the "last
package loaded" strategy because it guarantees that at least one
package will remain in exactly the intended state, and thus presumably
work. Ok, fair enough. I think this argument is moot any way since:
- What's appropriate probably depends on the circumstances under which
we're running. If I as a developer am loading a handful of packages to
continue development, I don't mind risking a little breakage. But
that's probably not the case if we're deploying for end users.
- The modules system shouldn't be dependent on any versioning tool, so
we may want overrides (or some other strategy for dealing with
multiply-defined methods) as a fall-back for when the versioning system
isn't present.
- Given Dan's interest in security, we'll probably want some mechanism
for preventing such method collisions from occurring at all.
Classboxes, Islands or E probably has some solution that is more
elegant than either overrides or versioning.
> Part of a "project" may mean reverting a method to an existing, older
> version, reverting a class to an older version, reverting a package to
> an older version. This happens quite frequently when developing a
> patch. What does it mean for these components' history that you
> re-version them?
In MC2, if a developer reverts to an older version, the history will
show that. A new version will be created, with identical "content" to
the old version, but with metadata showing the intermediate version as
an ancestor.
Colin
More information about the Squeak-dev
mailing list
|