| Eliot Miranda 2004-10-25, 8:57 pm |
|
A-S Koh wrote:
> I have two parcels that are very similar. One of them having some
> updates. How can I recover the updates only without error.
>
> Thanks,
> Koh
Here are two ways, one with either parcel loaded in an image, one without.
A. with version A loaded in the image, use 2 change lists to get the
differences
1a. open a ChangeList
Launcher->Tools->ChangeList
2a. in the ChangeList Display the Parcel
ChangeList->File->Display Parcel...
3a. read version B's source file into the same ChangeList
ChangeList->File->Read File(s)... and select version B's .pst
4a. remove the exact duplicates
ChangeList->Remove->Exact Duplicates
this marks as removed any methods in version A that are exactly
the same as version B, as Remove Exact Duplicates removes all
identical versions of any change other than the last one (if
you hold the shift it removes all identical versions of any
change other than the first one).
5a. mark as removed version B's changes. Select any change from
version B, and check the "file" check-box to filter only version
B's source file.
6a. discard all the "marked as removed" changes, leaving only those
changes in version A that are different to version B.
ChangeList->Forget->Forget All Marked
1b. open a ChangeList
Launcher->Tools->ChangeList
2b. in the ChangeList Display the Parcel
ChangeList->File->Display Parcel...
3b. read version B's source file into the same ChangeList
ChangeList->File->Read File(s)... and select version B's .pst
4b. remove the exact duplicates _HOLDING THE SHIFT KEY_ to remove
the last duplicates, i.e. those in version B.
ChangeList->Remove->Exact Duplicates
this marks as removed any methods in version B that are exactly
the same as version A.
5b. mark as removed version A's changes. Select any change from
version B, and check the "file" check-box to filter only version
A's source file.
6b. discard all the "marked as removed" changes, leaving only those
changes in version B that are different to version A.
ChangeList->Forget->Forget All Marked
Note that you don't need to repeat steps 1b through 3b if after 3a
you do ChangeList->Find->Spawn All to create a duplicate CHangeList.
B. Method B is the same, but instead of using Display Parcel.. to
display version A, just load version A's source file using
ChangeList->Read File(s)...
The ChangeList operates on "changes", which are objects that reference
class, method, namespace, and shared variable definitions, doits, class
reorganizations that are either in the system or parsed from a source
file. It then provides numerous filtering and comparison operations
that you can use to reason about and manage changes. See Managing
Smalltalk Code in the Application Developer's Guide.
--
_______________,,,^..^,,,____________________________
Eliot Miranda Smalltalk - Scene not herd
|