(name 'Monticello2-cwp.50' message 'Fixed a timing bug that occasionally caused the slice tests to fail. Also cleaned up the protocol for creating snapshots.' id '004b09b3-2f3b-49be-8f12-4eccb616617a' date '10 March 2005' time '11:44:26 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.49' message 'Reworked the Slice interface so that they always save snapshots into repositories, rather than returning a snapshot. Snapshots now only hold the hashstamps of their versions, not the full verions themselves. 

' id '80fe23ea-d68b-422b-9c98-62daf0f55dc0' date '10 March 2005' time '9:55:43 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.48' message 'Changed the hashstamp epoch to midnight on Jan 1, 1980. this should be early enough... we''re versioning Smalltalk code!' id '5e871880-71e0-4ce2-9e18-98cce9496b9d' date '10 March 2005' time '1:31:36 am' author 'cwp' ancestors ((name 'Monticello2-cwp.47' message 'Hashstamps now use Marshals for serialization.' id 'f440dbcb-de0f-478d-b657-66a5cf30e094' date '10 March 2005' time '1:08:42 am' author 'cwp' ancestors ((name 'Monticello2-cwp.46' message 'Serialization tweaks.' id '569aeae6-e5cc-43d3-8e09-c3a981103af8' date '9 March 2005' time '10:35 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.45' message 'Refactored serialization to keep knowledge of the bytestream entirely within Marshal. Other classes implement #serializeWith: and #materializeWith: for double dispatch of the class-specific reading and writing methods.' id '80544fc0-9750-4b97-9001-d655e25a54ab' date '9 March 2005' time '9:55:12 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.44' message 'Minor bug fix: make the input stream binary at the top of the materialization tree, rather than with each object being materialized.' id '446c7c4b-5038-4327-b837-a0f8f2f3b18c' date '9 March 2005' time '8:07:48 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.43' message 'Bugfix: Serialization now uses 32-bit integers to record the size of Sets, so it''s much harder to overflow it.' id '617f4753-4944-4914-8a64-21e93928f098' date '9 March 2005' time '12:32:31 am' author 'cwp' ancestors ((name 'Monticello2-cwp.42' message 'Added preliminary serialization code.' id 'd0f6c568-510b-4215-bc16-3afe26f40bee' date '8 March 2005' time '12:26:17 am' author 'cwp' ancestors ((name 'Monticello2-cwp.41' message 'Made working copies singletons.
' id 'cb5ae240-b834-4e40-87d1-d0d3579aca99' date '4 March 2005' time '3:51:51 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.40' message 'PackageSlice now supports class instance variables.' id 'babcdea1-cf1f-48d8-9f74-b57bcd336dc2' date '4 March 2005' time '3:28:23 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.39' message 'Implemented class instance variable elements... looks like I missed it before.' id '277a5911-c479-46d4-8346-9c3a99d34eb5' date '4 March 2005' time '3:22:07 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.38' message 'Implemented PackageSlice.' id '684850b1-28d6-430a-ae6b-41ad3bc78577' date '3 March 2005' time '2:25:46 am' author 'cwp' ancestors ((name 'Monticello2-cwp.37' message 'Extracted version comparisons and conflict detection from the wc into the versions themselves. This presents a better API for merge tools, which is now well documented by tests.' id 'e99ad512-01d3-4a76-a83d-f059131386c3' date '3 March 2005' time '12:15:50 am' author 'cwp' ancestors ((name 'Monticello2-cwp.36' message 'Added a test to ensure that saving a version of an element that is not present in the image will produce a NullVersion.' id 'c9af4959-cbf4-4179-bddb-f9c3abed529d' date '27 February 2005' time '11:55:02 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.35' message 'Introduced Slices and NullVersion. Slices are now responsible for loading and saving snapshots, and use NullVersions to merge elements not present in snapshots into the image.' id '4795c138-02be-48ec-9b0a-faa52e9be4e7' date '27 February 2005' time '10:57:22 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.34' message 'Introduced Hashstamp, which is quite similar to the old ElementVersionInfo, except that it uses a SHA1 hash instead of XORing the hashes of all the properties together.' id 'e79d93de-e25f-4435-bb7e-e983d14c7a2b' date '27 February 2005' time '6:14:27 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.33' message 'Changed the way snapshots work.' id '087fd0e0-78d4-4801-902d-af0e273151f1' date '27 February 2005' time '12:19:48 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.32' message 'Renamed ''tag'' to ''snapshot''.' id '98aeedf7-8007-4d33-bb22-4ed4e6f3bb8f' date '21 February 2005' time '1:33:49 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.31' message 'Added support for #isLoadable: to the Squeak adaptors.' id 'c325d879-e8b6-436d-b7a3-386eb4797f9f' date '15 February 2005' time '4:08:28 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.30' message 'Added a test for creating the first version of an element.' id 'dccca4cf-e8fb-427d-b314-e136132674e5' date '13 February 2005' time '8:15:44 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.29' message 'Added preliminary tag support.' id '68f222cc-d9fd-408f-a7ab-bdbd31640cae' date '13 February 2005' time '7:58:43 pm' author 'cwp' ancestors ((name 'Monticello2-abc.28' message 'Removed ElementVersionInfo in favour of using UUIDs.' id '5dfa10de-185e-4c44-aa27-f594c6a4ba6b' date '13 February 2005' time '12:52:17 pm' author 'abc' ancestors ((name 'Monticello2-cwp.27' message 'Method elements can now handle class methods.' id 'a62d8aad-050a-4b02-83c9-421b02dce147' date '12 February 2005' time '3:26:11 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.26' message 'Added a class comment element.' id 'cef267d3-1432-4774-a59c-e446556065a3' date '12 February 2005' time '3:10:53 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.25' message 'Added adaption of pool imports.' id '9ae45537-e8d5-4262-ae58-9e8e67a16755' date '7 February 2005' time '12:02:49 am' author 'cwp' ancestors ((name 'Monticello2-cwp.24' message 'Added a test to ensure that removals can be loaded even when the element is not present.' id '85e2eebb-b8a5-491d-b120-c019bf8b2060' date '6 February 2005' time '11:58:03 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.23' message 'Added support for pool imports.' id '5cb53825-7ddf-498b-9732-442f1e45ec38' date '6 February 2005' time '11:53:41 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.22' message 'Got the double-dispatch between adaptors and image proxies working for all the new element types.' id '2ac97820-764c-45f4-a0ac-70fd872d53bd' date '6 February 2005' time '10:39:15 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.21' message 'Added support for class variable elements.' id 'f298d6d4-8c0e-46e9-b373-dae2b2fa3c81' date '6 February 2005' time '2:32:57 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.20' message 'Further test refactoring. Now we don''t rely on the Bogus package for code to test against. Instead we use a couple of internally defined bogus classes.' id '7b336ab7-a6b7-453c-91da-00947b90d4e0' date '6 February 2005' time '12:19:25 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.19' message 'Added support for class elements.' id '1200081e-9dd6-4358-aebd-7fe2ee7c09cb' date '5 February 2005' time '11:06:14 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.18' message 'Further test case refactoring: Eliminated the squeak image proxy test and moved all testing that actually deals with the live image into adaptor tests. Now the higher level tests can test the interaction of elements, snapshots and proxies in a more abstract way. This should also be good for keeping the versioning code as domain-independent as possible.' id 'f03241f3-8508-405c-a3c0-09af476e528d' date '5 February 2005' time '8:31:21 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.17' message 'Refactored the image proxy tests in preparation for adding element types.' id '8d0d1779-901e-4f64-82d2-d521053ac338' date '5 February 2005' time '1:26:35 am' author 'cwp' ancestors ((name 'Monticello2-cwp.16' message 'Updated FakeImageProxy to use the same adaptor scheme as SqueakImageProxy.' id '7cb32824-1c63-4b2f-94c8-bcdf8d63304f' date '4 February 2005' time '12:44:26 am' author 'cwp' ancestors ((name 'Monticello2-cwp.15' message 'Got rid of gobs of obsolete double dispatch.' id '1a5cd7bb-b3b4-42b4-bef9-a705e6505d6f' date '4 February 2005' time '12:03:24 am' author 'cwp' ancestors ((name 'Monticello2-cwp.14' message 'Reverted to cwp.12, and got the SqueakImageProxy tests working again, but using an ElementAdaptor approach this time.' id '31b84e5c-8f7c-41d4-891f-6a6bfef05846' date '3 February 2005' time '11:43:23 pm' author 'cwp' ancestors ((name 'Monticello2-avi.12' message 'Add ElementRemoval and tests at the ImageProxy level.' id 'a1fb8dda-43fd-11d9-b578-000a95db7844' date '2 December 2004' time '2:01:01 am' author 'avi' ancestors ((name 'Monticello2-avi.11' message 'Conflict resolution is supported.' id '2b8d1484-4211-11d9-9582-000a95db7844' date '29 November 2004' time '3:15:49 pm' author 'avi' ancestors ((name 'Monticello2-avi.10' message '#includeVersion: now has an #onConflict: block.  This gets triggered at the right time, but isn''t otherwise handled at all.' id '8675e616-420b-11d9-9582-000a95db7844' date '29 November 2004' time '2:35:25 pm' author 'avi' ancestors ((name 'Monticello2-avi.9' message 'Add WorkingCopy>>includeVersion:, which only loads a version if it supercedes what''s already there.' id '6c4d3e91-420a-11d9-9582-000a95db7844' date '29 November 2004' time '2:27:31 pm' author 'avi' ancestors ((name 'Monticello2-avi.8' message 'Introduce the Versions layer, with ElementVersion and WorkingCopy.  Pulled out an abstract MDTestCase with the construction and proxy handling methods (and a subclass MDFakedTestCase which, like MDTestFakeImageProxy, implements the proxy methods to use a FakeImageProxy).  Add #isUpToDate: to ImageProxy (no implementation for SqueakImageProxy yet). WorkingCopy can load and save ElementVersions, creating new versions as needed based on #isUpToDate:. ' id '87007702-4206-11d9-9582-000a95db7844' date '29 November 2004' time '1:59:38 pm' author 'avi' ancestors ((name 'Monticello2-cwp.7' message 'Renamed ProgramElement to ImageElement.' id 'd444de0c-6906-4fe8-89b8-a3dd1ab425fe' date '29 November 2004' time '1:50:10 am' author 'cwp' ancestors ((name 'Monticello2-cwp.6' message 'First implementation of SqueakImageProxy.' id 'ffc1e52d-7bfa-425c-b0fa-3431aed24590' date '29 November 2004' time '1:48:27 am' author 'cwp' ancestors ((name 'Monticello2-cwp.5' message 'Cleaned up the interface TestImageProxy expects from its concrete subclasses.' id 'fe0cb14d-a637-4c6f-9185-f456ba0f5b3f' date '28 November 2004' time '7:06:16 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.4' message 'Refactoring: Pulled out MDTestImageProxy as an abstract superclass for proxy tests.' id 'c479d8d3-2f0b-4111-8523-9a2f4b1bcaf4' date '28 November 2004' time '5:10:22 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.3' message 'Renamed MockImageProxy to FakeImageProxy and extended it to be able to handle properties other than #source.' id '348fefd1-bb04-4b96-aca1-6007f8cdfe2f' date '28 November 2004' time '3:47:37 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.2' message 'Refactoring: Renamed classes and methods to reflect the Element naming scheme.' id '23e9f2e6-4168-11d9-853a-000a95702430' date '28 November 2004' time '1:05:51 pm' author 'cwp' ancestors ((name 'Monticello2-avi.1' message 'Starting to sketch out the ImageProxy, Definition, and DefinitionSnapshot layer.' id '6dd22b78-4152-11d9-9c95-000a95db7844' date '28 November 2004' time '4:30:26 pm' author 'avi' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())