Kettle use case: method alternatives

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Kettle use case: method alternatives

Tapple Gao
Here is a use case that I think would be very useful when
porting code, especially small bug fixes, across forks. I have
wanted to add this to DeltaStreams.

You fix a bug in squeak.org, and it involves changing the #foo
method from:

foo
    ^ 1

to:

foo
    self ensureWhizbangInitialized.
    ^ 1

Now, you realize that this bug needs to be fixed in Croquet as
well, where foo looks like:

foo
    ^ 2

So, you try loading the bug fix into Croquet, and, naturally, it
brings up a conflict that you must resolve, since the expected
previous method does not match the actual installed method. You
resolve it like:

foo
    self ensureWhizbangInitialized.
    ^ 2

and forget about it, because the system has recorded this as an
alternative, and whoever fetches the bug fix in the future will
receive both versions and automatically choose the one that best
matches their fork and has the same previous method that you
had when you resolved the conflict.

I haven't really thought about how this would work if you needed
to specify alternative groups of methods, again dependent on
which fork you load code into.

--
Matthew Fulmer -- http://mtfulmer.wordpress.com/
_______________________________________________
Spoon mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/spoon