(name 'Monticello2-cwp.95' message 'Preliminary work on MDMergeTool.' id '1cbee3f5-a912-4765-9402-5d9b332d60f0' date '25 April 2005' time '4:49:06 am' author 'cwp' ancestors ((name 'Monticello2-avi.94' message 'FileRepo records the snapshotHashstamps as it scans the data, rather than brute force searching for them on request.' id 'd74ab508-b064-11d9-98c0-000a95db7844' date '19 April 2005' time '1:51:53 am' author 'avi' ancestors ((name 'Monticello2-avi.93' message 'FileRepo will rescan the file on cache misses.' id 'ac268b56-b063-11d9-98c0-000a95db7844' date '19 April 2005' time '1:43:31 am' author 'avi' ancestors ((name 'Monticello2-cwp.92' message 'Removed MDIndexFile as it''s no longer relevant.' id 'b4ccc7de-bf0f-48d2-b125-6812982cd5dc' date '18 April 2005' time '6:03:44 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.91' message 'Refactoring: hashstamps are now internally stored as a sequence of 24 bytes, rather than two instance variables. We rarely access the digest or timestamp individually, and when we do it''s easy to copy the bytes into a separate object.' id '2ed2fcf8-d74a-4fda-8d11-79c728d8006c' date '18 April 2005' time '1:56:38 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.90' message 'Removed MDDirectoryRepository as it''s too slow to be useful.' id '821c38b8-8aaa-4f49-b6dc-bec975aceef0' date '18 April 2005' time '12:36:34 pm' author 'cwp' ancestors ((name 'Monticello2-avi.89' message 'Switch to #snapshotHashstampsDo: from the more generic #hashstampsOfClass:do:' id '10d4eed6-aed7-11d9-b7aa-000a95db7844' date '17 April 2005' time '2:24:30 am' author 'avi' ancestors ((name 'Monticello2-avi.88' message 'Change the FileRepository to use a simple in-memory index.' id '1c4f3f6a-aed5-11d9-b7aa-000a95db7844' date '17 April 2005' time '2:10:30 am' author 'avi' ancestors ((name 'Monticello2-cwp.87' message 'Portability tweak for MDTimestamp.' id '04152df9-4cc7-47ee-b275-9d54f3d249a4' date '16 April 2005' time '5:17:34 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.86' message 'Made MDTimestamp and tests more portable.' id 'e526c90a-0673-44cc-b06b-5d171294e2db' date '16 April 2005' time '4:54:54 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.85' message 'Merged in Avi''s index-growing work.' id '7e6b851f-4b51-4492-b27b-10ca139221aa' date '10 April 2005' time '6:25:47 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.84' message 'Refactoring: pulled MDKeyedStream out of MDFileRepository, for use in an interchange format.' id 'becd6422-2a63-47ae-b594-1463ba39f49c' date '10 April 2005' time '6:23:50 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.83' message 'Flip the serialization of hashstamps. Now timestamps go at the beginning of the bytestream, so serialized hashstamps will sort into chronological order.' id '1c6df8a1-d976-43a0-8cfd-1167a75dd43f' date '10 April 2005' time '1:09:28 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.82' message 'Bugfix: MDSnapshot had inconsistent #= comparisons. The implementations inherited from MDHashedObject relied on computing a hashstamps and comparing them. But the actual hashstamp produced depends on the order in which the #meta and #contents instance variables were traversed, and since they are Sets, this was unpredictable. Thus it was possible for two equal snaphots to answer false to #=. The new implementation compares the sets directly rather than comparing hashes.' id '841e1619-1d21-48b1-a0ad-579b2ab243d2' date '10 April 2005' time '12:54:27 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.81' message 'Now uses MDTimestamp everywhere.' id '3cc3441d-9229-4b63-821a-21c5a3fffeee' date '9 April 2005' time '5:33:47 am' author 'cwp' ancestors ((name 'Monticello2-cwp.80' message 'Factored timestamp printing into a separate class.' id 'aa9ee07a-345b-40b1-afde-c3d856c2b449' date '9 April 2005' time '4:39:57 am' author 'cwp' ancestors ((name 'Monticello2-cwp.79' message 'Added a higher-performance timestamp implementation. It''s not yet used for now.' id '9c46cb41-dc61-487d-9846-61941ab423a5' date '9 April 2005' time '1:47:04 am' author 'cwp' ancestors ((name 'Monticello2-cwp.78' message 'Minor changes to MDPropertyDictionary.

Nils are now handled symetrically: they are ignored when added as a property, and returned when a non-existent property is requested.

Now with tests.' id '536ee954-08c8-47c6-96fd-3d2711b7c92d' date '3 April 2005' time '8:39:31 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.77' message 'Minor changes to make repository conversion easier.' id '17bdee89-91b6-4b5e-961d-f3d4c408fe60' date '3 April 2005' time '1:02:22 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.76' message 'Refactoring.

MDSnapshot now stores its hashstamps in two separate collections: regular elements in #contents and metaelements in #meta.' id 'b2116715-f884-4a46-a2d2-df9f61b5743f' date '27 March 2005' time '10:41:50 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.75' message 'Cleaned up version construction in the tests a bit.' id 'e3d4de7b-571f-4b7a-b0ef-efebb891ec01' date '25 March 2005' time '11:01:59 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.74' message 'Removed MDSnapshotMerge and renamed MDVersionMerge to MDMerge. Now MDMergeRequests just carry a collection of MDMerges.' id 'c18ab86f-05fc-4d28-b713-040fa512cbc0' date '25 March 2005' time '10:28:30 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.73' message 'Cleanup of the hashstamp creation protocol.' id 'c89e1e9e-3890-4161-8a8a-bbf353e4245c' date '25 March 2005' time '8:48:12 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.72' message 'HashedObjects now store their timestamps instead of full hashstamps, and calculate the full hashstamps on the fly.' id '04737926-c956-45c0-8823-52469ba24a7f' date '23 March 2005' time '11:49:46 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.71' message 'Added auto-merging for LogElements and MetadataElements.' id 'ad87c323-dd56-49b3-829f-81de1e1bdb60' date '23 March 2005' time '10:32:11 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.70' message 'Added a MetadataElement for tracking branches and version numbers.' id '7daf0041-c556-4b75-9306-833db2606be0' date '23 March 2005' time '12:21:45 am' author 'cwp' ancestors ((name 'Monticello2-cwp.69' message 'Now the exported code not only files into VW, but the class initialization methods work.

Also, customized the VW export a bit so that it creates a more sensible package organization in VW.' id '721baaff-89b3-4efa-8b51-f940cecd0218' date '20 March 2005' time '1:39:17 am' author 'cwp' ancestors ((name 'Monticello2-cwp.68' message 'Fix bugs in VW export.' id 'b7eba4da-f566-4161-a5ec-fb52cfac4eda' date '19 March 2005' time '10:32:32 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.67' message 'Added tests for the PackageInfo subclasses.' id 'ec89f709-b7ed-4d8c-8187-49177376a4e5' date '19 March 2005' time '10:21:35 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.66' message 'Added support for exporting to VW5 format. 

The resulting file can be loaded into VW 7.3, but none of the tests pass.' id 'f35bcf76-4bc6-4144-ab4c-1a81450e8525' date '19 March 2005' time '10:13:22 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.65' message 'Added preliminary implementation of MDSnapshotMerge and MDVersionMerge.' id 'e41ff6a4-46b3-4420-8f4c-a2d7027544e9' date '17 March 2005' time '11:47:47 pm' author 'cwp' ancestors ((name 'Monticello2-avi.64' message 'Start an automerge mechanism.' id '9ca61802-960f-11d9-b68a-000a95db7844' date '16 March 2005' time '12:36:17 pm' author 'avi' ancestors ((name 'Monticello2-cwp.63' message 'Added MDLogElement, for recording commit specific information. Doesn''t implement auto-merging yet, so merges will cause spurious conflicts.' id '563f682e-26f7-444c-bf76-96313fafe048' date '16 March 2005' time '1:31:29 am' author 'cwp' ancestors ((name 'Monticello2-cwp.62' message 'Added MDSlice>>asExplicitSlice for conversion.' id '1975935b-a430-4557-badc-3c1ca9b59c33' date '14 March 2005' time '10:29:33 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.61' message 'Fix test failure caused in the move from #hash to #fullHash on Hashstamp. ' id 'f8aee65b-5df5-44f3-879a-78f0bdb19ec9' date '14 March 2005' time '10:16:39 pm' author 'cwp' ancestors ((name 'Monticello2-avi.60' message 'FileRepository now uses ByteIndex to go much faster.' id '0f292d9c-94fc-11d9-9c57-000a95db7844' date '15 March 2005' time '3:43:49 am' author 'avi' ancestors ((name 'Monticello2-avi.59' message 'Add #localReference to PropertyDictionary as an optimization: this can hold onto an image-level artifact like a CompiledMethod and use that to speed up #isUpToDate: checks.

Also added #fullHash to MDHashstamp so that #hash can be given a more Set-friendly implementation (it seems to be useful to have this return a SmallInteger).' id 'f169288d-94b1-11d9-9c27-000a95db7844' date '14 March 2005' time '6:53:16 pm' author 'avi' ancestors ((name 'Monticello2-avi.58' message 'Add a simple FileRepository (no indexing, no locking).' id 'ba675b7c-947f-11d9-b93b-000a95db7844' date '14 March 2005' time '12:53:49 pm' author 'avi' ancestors ((name 'Monticello2-avi.57' message 'merge' id '69d72b84-93d6-11d9-9942-000a95db7844' date '13 March 2005' time '4:41:49 pm' author 'avi' ancestors ((name 'Monticello2-avi.54' message 'Implement MDByteIndex, which manages a fixed-size dictionary backed by a byte stream.  To be much use, this needs to be wrapped in an IndexFile which knows the file name and grows/copies the ByteIndex as needed (when tally/maxIndex exceeds a certain ratio, like 0.5).' id 'a36dbc86-936d-11d9-9942-000a95db7844' date '13 March 2005' time '4:11:48 am' author 'avi' ancestors ((name 'Monticello2-avi.53' message 'Speed up Marshal some, by adding a couple of class vars: Epoch and InverseClassMap' id '230052b8-92a6-11d9-ad65-000a95db7844' date '12 March 2005' time '4:23:43 am' author 'avi' ancestors ((name 'Monticello2-avi.52' message ' - Add the #hashstampsOfClass:do: protocol to repositories.  This iterates through all hashstamps of objects stored in the repository that match the given class.
 - To allow this to be implemented in DirectoryRepository:
    - extract a HashedObject superclass from Version and Snapshot.  This holds the hashstamp, and also implements #extension on the class side to return a short unique string for each class.  This is used to identify class when building filenames.
   - implement Hashstamp class>>fromString:, so that hashes can be deserialized from filenames' id '7178d7b4-929e-11d9-ad65-000a95db7844' date '12 March 2005' time '3:28:39 am' author 'avi' ancestors ((name 'Monticello2-cwp.51' message 'Merged in avi''s implementation of DirectoryRepository.' id '40e6254e-dbaf-4cc0-9191-dfcdef11c8f7' date '11 March 2005' time '8:11:18 pm' author 'cwp' ancestors ((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 ())(name 'Monticello2-avi.49' message 'Added a simple DirectoryRepository, which saves versions into files named by the hashstamp.  For now it only ever points to ''slice-versions'' in the default directory.' id 'c7a83d24-928a-11d9-ad65-000a95db7844' date '12 March 2005' time '1:07:53 am' author 'avi' ancestors ((id '5e871880-71e0-4ce2-9e18-98cce9496b9d')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Monticello2-cwp.56' message 'Added a preliminary implementation of the Store. For now it just uses a single DirectoryRepository.' id '6633cdf3-5fb4-447a-9200-3148918fc209' date '13 March 2005' time '1:17:14 am' author 'cwp' ancestors ((name 'Monticello2-cwp.55' message 'Further optimization of the serialization code, which now spends the bulk of its time in primitives. The down side of this is that we use a fairly odd (julian day number + seconds) encoding scheme for timestamps, which may be unnatural in other Smalltalk dialects.' id '92d8d2e6-ac13-416c-a66d-11608c2edd48' date '12 March 2005' time '1:24:51 am' author 'cwp' ancestors ((name 'Monticello2-cwp.54' message 'Tweak to MDHashstamp class>>decodeString:' id 'bfddaab3-501b-4d18-9182-d061dfc1ddc1' date '11 March 2005' time '11:31:58 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.53' message 'Merged in changes from Avi.' id '617d5c05-5978-4fad-8014-e4872fa4ac91' date '11 March 2005' time '11:25:35 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.52' message 'A bunch of bug fixes required to be able to save a snapshot to a disk-based repository and load it back in.' id 'ce1b5678-ecd2-4ca3-8435-a7d88d51156b' date '11 March 2005' time '11:17:50 pm' author 'cwp' ancestors ((id '40e6254e-dbaf-4cc0-9191-dfcdef11c8f7')) stepChildren ())(id '230052b8-92a6-11d9-ad65-000a95db7844')) 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 ())(name 'Monticello2-avi.66' message 'Working on wrapping IndexFile around ByteIndex so that it''s growable.' id 'ecb5b1e4-aa0e-11d9-a22d-000a95db7844' date '11 April 2005' time '12:21:46 am' author 'avi' ancestors ((id 'e41ff6a4-46b3-4420-8f4c-a2d7027544e9')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())