(name 'Monticello2-cwp.148' message 'Moved an extension method to MC2-Extras.' id '4572605a-da60-11da-81ba-000a95702430' date '3 May 2006' time '12:49:57 am' author 'cwp' ancestors ((name 'Monticello2-avi.147' message 'merge' id '89d31f5b-ba24-11da-8867-000a95db7844' date '22 March 2006' time '8:21:45 pm' author 'avi' ancestors ((name 'Monticello2-avi.146' message 'Use the standard #reopen method on FileStream' id '6b932f13-ba22-11da-8867-000a95db7844' date '22 March 2006' time '8:06:35 pm' author 'avi' ancestors ((name 'Monticello2-avi.145' message 'Ignore merges of identical versions rather than treating them as conflicts.' id 'ddf3a4b6-b8b3-11da-9b40-000a95db7844' date '21 March 2006' time '12:22:42 am' author 'avi' ancestors ((name 'Monticello2-avi.144' message '- some changes to support 3.7
- move PG and VW stuff to separate package' id 'e0086560-b7f1-11da-a09b-000a95db7844' date '20 March 2006' time '1:14:03 am' author 'avi' ancestors ((name 'Monticello2-cwp.143' message 'Fixed SliceTest to be a little more accurate in specifying the desired behavior.' id '2b6287be-ec9c-44ce-8b97-2678b629a8af' date '3 March 2006' time '2:51:23 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.142' message 'Added transaction support to working copies and image proxies.' id '545bcb1a-026d-4bc5-b8c7-82b25fe74522' date '2 March 2006' time '8:21:22 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.141' message 'Merged in cwp.139' id 'aa9d224f-6058-4104-a21d-8fd74eca7348' date '2 March 2006' time '4:17:55 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.140' message 'Updated clients of the working copy to wrap up multiple wc operations inside a transaction. This will enable atomic loading at the image proxy level.

To facilitate this change, refactored MDMerge instances not to hold references to a working copy, and now only represent the resolution of a merge between two versions of the an element.' id '678c19a7-24b5-4103-a4e1-030453313824' date '2 March 2006' time '4:08:01 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.138' message 'Moved over some extension methods.' id '40d1ef6e-e39a-6040-811b-640d97c1e962' date '22 October 2005' time '4:55:30 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.137' message 'Moved all Squeak-specific classes to their own package - MC2-Squeak.' id '519177f7-3d56-614d-95d3-a71c4c5c7798' date '22 October 2005' time '8:31:55 am' author 'cwp' ancestors ((name 'Monticello2-cwp.135' message 'Added MDWorkingCopy>>transaction: as a first step towards atomic loading.' id 'e1d525c3-9f6b-4d22-a65b-274077d35097' date '17 October 2005' time '8:38:27 am' author 'cwp' ancestors ((name 'Monticello2-cwp.134' message 'Disambiguated the term "snapshot" by renaming the supertype of ElementDefinition and ElementRemoval to Variant. Also added a mostly-empty class called MDVariant to clarify this relationship.' id 'ffa527a0-ee07-d44f-9520-d986a1d39137' date '16 October 2005' time '2:56:15 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.133' message 'Added a ''save to file'' menu item to SlicePanel.' id '06be6682-f816-9f41-9142-0214384ef6be' date '16 October 2005' time '12:40:36 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.132' message 'Bugfix: MDFileRepository class>>saveSlice:as: wasn''t closing the file properly.' id '2a3114ef-7434-4054-897a-cb8672b09e07' date '13 October 2005' time '11:05:50 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.131' message 'Added a convenience method for saving a single snapshot into a new file repository, similar to MC1 version files.

' id '30628057-f997-4eb6-b43e-5a5d0081adaf' date '13 October 2005' time '8:22:17 am' author 'cwp' ancestors ((name 'Monticello2-cwp.130' message 'Alphabetize class variable names, for compatibility in Squeak 3.9' id '66a0859e-24c5-11da-a3f7-000d937adc5a' date '13 September 2005' time '10:15:20 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.129' message 'Update MDHashstampTest>>testPrinting.' id 'ef00fc39-2456-11da-9495-000d937adc5a' date '13 September 2005' time '9:04:35 am' author 'cwp' ancestors ((name 'Monticello2-cwp.128' message 'Added tests and bugfixes for the magnitude protocol on Timestamp and Hashstamp.' id '468b0f23-231a-11da-81c3-000d937adc5a' date '11 September 2005' time '7:17:52 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.127' message 'Reverse the internal byte order of Timestamps so that they sort better when serialized.' id '3b893b50-2277-11da-81c3-000d937adc5a' date '10 September 2005' time '11:50:45 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.126' message 'Rearranged the character map used to serialize hashstamps to strings so that alphabetical order matches chronological order.' id '11a9d40d-205e-11da-bc15-000d937adc5a' date '8 September 2005' time '7:45:35 am' author 'cwp' ancestors ((name 'Monticello2-cwp.125' message 'Fix some timestamps that were broken by an old bug in MDTimestamp.' id '961054bc-1e8a-11da-8b1e-000d937adc5a' date '5 September 2005' time '11:59:13 pm' author 'cwp' ancestors ((name 'Monticello2-avi.124' message 'In SliceStatus, when getting a class event, only do the extended changes checks for modification events.' id 'df04a0c4-1e82-11da-a0d6-000a95db7844' date '5 September 2005' time '8:03:59 pm' author 'avi' ancestors ((name 'Monticello2-cwp.123' message 'Bugfix: changing a class comment no longer causes a walk back when OBSlicePanel receives the SCN event.' id '0d0fb86d-1e77-11da-b853-000d937adc5a' date '5 September 2005' time '9:39:22 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.122' message 'Added a "save" menu item to MDSlicePanel.' id '54bda47e-1cff-11da-97ff-000d937adc5a' date '4 September 2005' time '12:49:52 am' author 'cwp' ancestors ((name 'Monticello2-cwp.121' message 'Initial impmentation of SlicePanel - status panel for slices.' id 'cb777382-18eb-11da-a750-000d937adc5a' date '29 August 2005' time '8:19:57 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.120' message 'Mocked out the database connection so that the postgres respository tests can run without and external dependency.' id '1323a178-12c1-11da-a5bb-000d937adc5a' date '21 August 2005' time '11:59:01 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.119' message 'Bugfix: MDTimestamp was handling Feb 29th incorrectly.

' id 'dcd0bdfc-120e-11da-859f-000d937adc5a' date '21 August 2005' time '2:43:20 am' author 'cwp' ancestors ((name 'Monticello2-cwp.118' message 'Bugfix: MDTimestamp was reporting the wrong year for dates in January.' id '38fbe17c-11e6-11da-859f-000d937adc5a' date '20 August 2005' time '9:52:25 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.117' message 'Bugfix: MDSqueakMethodAdaptor was installing methods with timestamps in 12-hour format, rather than 24-hour format.' id 'df8b8c36-11d2-11da-859f-000d937adc5a' date '20 August 2005' time '7:33:55 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.116' message 'Made Hashstamp a subclass of Magnitude so collections of hashstamps can be sorted.

Added a nil check in MDSqueakMethodAdaptor>>remove, so that removing a method from a class that doesn''t exist always succeeds.' id '38b76f04-11c5-11da-859f-000d937adc5a' date '20 August 2005' time '5:56:11 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.115' message 'Optimization: HashedObjects now cache their hashstamps, rather than recompute them everytime they''re needed.' id '20a47cd0-0c7e-11da-83d4-000d937adc5a' date '14 August 2005' time '12:44:41 am' author 'cwp' ancestors ((name 'Monticello2-cwp.113' message 'Merged Postgres repository with changes for Squeak 3.8' id '257775ec-0782-11da-83f2-000d937adc5a' date '7 August 2005' time '4:30:51 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.112' message 'Updated so the tests pass in the final release of Squeak 3.8, update 6665' id 'e280c0be-06db-11da-9362-000d937adc5a' date '6 August 2005' time '8:40:42 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.110' message 'Bugfix: the MergeTool now behaves properly when all the elements have been merged.' id 'f7c960b0-44db-174c-8728-634753da5823' date '19 June 2005' time '8:45:26 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.109' message 'Simple optimization of MDPackageInfoTest' id '2e7db4b2-b490-314a-b273-cad42620f860' date '19 June 2005' time '4:21:09 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.108' message 'Added a test for the extension methods being included in VwExportInfo.' id '098748a0-92d5-c340-b256-7bba3d98cadf' date '19 June 2005' time '4:17:51 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.107' message 'More VW-related tweaks:

Moved methods for getting the current timestamp to MDPlatform.

Fixed a bug in VwExportInfo that prevented extensions from being filed out.' id '0b00d520-e07c-11d9-9557-000d937adc5a' date '19 June 2005' time '12:38:54 am' author 'cwp' ancestors ((name 'Monticello2-cwp.106' message 'More changes to get MDTimestamp working in VW.' id 'c2dcfa30-e056-11d9-9557-000d937adc5a' date '18 June 2005' time '8:12:02 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.105' message 'Removed MDTimestampTest>>testAsSqueakTimestamp, since that method is obsolete.' id '7a07c5cf-e054-11d9-9557-000d937adc5a' date '18 June 2005' time '7:55:41 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.104' message 'Tweaks to MDTimestamp to make it work in VW.' id '1616761e-c2ee-fb44-adfe-7911e44704fb' date '18 June 2005' time '7:10:24 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.103' message 'Added ''merge resolved'' menu item to the MDMergeTool.' id 'db6a1d30-35ea-5c4c-9041-d548ff58f8ce' date '17 June 2005' time '10:53:06 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.102' message 'Made the merge tool discard edits in its text panes.' id 'd6063650-dd98-11d9-aad8-000d937adc5a' date '15 June 2005' time '8:27:27 am' author 'cwp' ancestors ((name 'Monticello2-cwp.101' message 'MDMergeTool now has menu items for choosing resolutions.' id '95a8ff76-d8e7-11d9-aa4e-000d937adc5a' date '9 June 2005' time '9:08:34 am' author 'cwp' ancestors ((name 'Monticello2-cwp.100' message 'In the merge tool conflicts are now displayed in bold and sorted to the top of the list.' id 'ddf15496-d42c-11d9-a646-000d937adc5a' date '3 June 2005' time '8:41:55 am' author 'cwp' ancestors ((name 'Monticello2-cwp.99' message 'MDMergeTool now displays conflict text correctly.' id '5908082c-d186-11d9-9223-000d937adc5a' date '30 May 2005' time '11:44:53 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.98' message 'MDMergeTool updates its text panes properly when the selected element changes.' id '552a59f2-d182-11d9-9223-000d937adc5a' date '30 May 2005' time '11:16:08 pm' author 'cwp' ancestors ((name 'Monticello2-cwp.97' message 'MDMergeTool now updates its list selection properly.' id '985d8014-cde7-11d9-b035-000d937adc5a' date '26 May 2005' time '9:10:56 am' author 'cwp' ancestors ((name 'Monticello2-cwp.96' message 'Some more callbacks implemented for MDMergeTool.' id '226a12ab-cc4e-11d9-9ebb-000d937adc5a' date '24 May 2005' time '8:19:54 am' author 'cwp' ancestors ((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 ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Monticello2-cwp.111' message 'Merged in Avi''s postgres repository.' id '9243d91d-b12a-2545-92f3-872df69fe452' date '22 June 2005' time '10:50:28 pm' author 'cwp' ancestors ((id 'f7c960b0-44db-174c-8728-634753da5823')(name 'Monticello2-avi.108' message 'Add a simple postgres repository.' id '64015b7c-e17e-11d9-bfb0-000a95db7844' date '20 June 2005' time '1:28:14 pm' author 'avi' ancestors ((id '0b00d520-e07c-11d9-9557-000d937adc5a')) 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-cwp.139' message 'Tweaks to MDFileRepository and tests so that the file stream gets closed during teardown. This allows most of the tests to pass on Windows.' id '3b372edc-1741-7c48-a6c2-d48839cf0e48' date '2 February 2006' time '11:42:52 pm' author 'cwp' ancestors ((id '40d1ef6e-e39a-6040-811b-640d97c1e962')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Monticello2-cwp.145' message 'No changes, but Squeak insists on rearranging class vars between versions.' id '7efaf6cd-f8d8-48a5-8aef-09f942b2534c' date '20 March 2006' time '11:38:01 pm' author 'cwp' ancestors ((id 'e0086560-b7f1-11da-a09b-000a95db7844')) stepChildren ())) stepChildren ())) stepChildren ())