Publishing on Monticello

Bert Freudenberg bert at impara.de
Mon Sep 19 09:22:22 UTC 2005


Am 19.09.2005 um 02:00 schrieb Avi Bryant:

> On Sep 18, 2005, at 4:27 PM, Avi Bryant wrote:
>
>> a) I am a user, and not a developer, of a package.  I haven't  
>> modified it in my image.  I want to be using a later version.
>> b) I am a user of a package.  I have made some minor changes in my  
>> image.  I want to be using a later version, but not to lose my  
>> local changes.
>> c) I am a user of a package.  I have made some minor changes in my  
>> image.  I want to use a later version and discard my local  
>> changes, since I believe they are now unnecessary.
>> d) I am developing a package together with some others.  I haven't  
>> modified the package in my image, but I want to be using some  
>> recent changes from someone else.
>> e) I am developing a package together with some others.  I have  
>> modified the package in my image, and would like to test how these  
>> changes integrate with recent changes made by others.
>> f) I am a developer or harvester and I have been using an  
>> experimental version of a package.  I have finished evaluating  
>> these changes, and would now like to switch to an older version,  
>> or a different experimental version.
>>
>> As it stands, we expect people to use Load for a, c, d, and e.  We  
>> expect people to use Merge for b and d.  Note, however, that the  
>> basic intent behind a and b is the same (user wanting to update a  
>> package), as is the basic intent behind d and e (developer wanting  
>> to use changes from collaborator).  The major difference between  
>> each pair is whether or not local changes have been made: the user  
>> or developer has to manually check the modified flag and make the  
>> choice to Load or Merge based on that.
>>
>
> Thinking about this slightly more: it's not really about the  
> modified flag, because the local changes may have been saved/ 
> committed somewhere already.  The deciding factor is not just  
> whether the package is currently dirty, but whether the working  
> copy is an unmodified ancestor of the version you're updating to.   
> This makes it an even harder choice for the users to make unaided.

... sounds very much like the intended "upgrade" semantics of  
MCConfigurations :)

I like the idea of the "Upgrade" (preserve local changes) and  
"Replace" (discard local changes) buttons, though I'd still like a  
better term for "replace".

- Bert -




More information about the Squeak-dev mailing list