(name 'Filesystem-cwp.90' message 'Simplified the way disk filesystems work on Windows, 
using the new explicit FSAbsolutePath and FSRelativePath.' id 'd08d62fb-7f41-dd4d-82b9-175f7fd6a77a' date '27 February 2011' time '10:21:40.634 am' author 'cwp' ancestors ((name 'Filesystem-cwp.89' message 'Factored FSPath into separate subclasses for absolute and relative paths. This encapsulates the path abstraction better, since the convention of a leading empty segment implying an absolute path really only works on unix. 

Suggested by Andreas Rabb to simplify usage on Windows filesystems.' id '9e881eb9-09f9-474e-9d28-1c4fd28b68b9' date '26 February 2011' time '6:44:55.559 pm' author 'cwp' ancestors ((name 'Filesystem-cwp.88' message 'Major refactoring - removed all subclasses of FSFilesystem, and moved the functionality into subclasses of FSStore. Each filesystem is now an instance of FSFilesystem, with reference to a store which handles all the details of the way files and directories are actually stored.' id 'adf9f1e7-c5d4-4fbc-906f-7f5d5db452ca' date '19 February 2011' time '3:22:29.613 pm' author 'cwp' ancestors ((name 'Filesystem-cwp.86' message 'Added FSStream>>isStream for compatibility.' id '47712189-5f89-4135-bff8-661a5bd83bb3' date '6 February 2011' time '8:05:04.813 am' author 'cwp' ancestors ((name 'Filesystem-tg.85' message 'refactoring platformName' id 'ac5641b2-fa72-4fdb-a9db-2ca1ec7c7f5c' date '8 November 2010' time '9:16:09 pm' author 'tg' ancestors ((name 'Filesystem-lr.84' message '- fixed the typo in #filename:matches:' id '278a1778-f8d4-45d0-9080-706e9518db7f' date '24 October 2010' time '10:21:08 pm' author 'lr' ancestors ((name 'Filesystem-lr.83' message '- return exception result' id '91915e98-680a-47cf-bf89-e9a403359b45' date '16 August 2010' time '4:18:31 pm' author 'lr' ancestors ((name 'Filesystem-lr.82' message '- made exceptions resumeable
- better print string of exceptions' id 'a7281e67-6353-4214-8568-e67967960304' date '16 August 2010' time '4:06:04 pm' author 'lr' ancestors ((name 'Filesystem-lr.81' message '- made sure that all stream methods work uniform accross filesystems' id '70b4e9be-fab5-4e41-93b0-16bfd2f2af9f' date '19 July 2010' time '8:02:28 pm' author 'lr' ancestors ((name 'Filesystem-MaxLeske.80' message '*added missing return
*flagged a missing method to be implemented' id 'ad146bab-53a5-4ef3-981d-f3f9e73d368b' date '19 July 2010' time '6:24:44 pm' author 'MaxLeske' ancestors ((name 'Filesystem-lr.79' message '- attempt to fix tests so that they do not try to create directories in the root (does not work on all machines)' id '6b33fca5-451e-429e-bfc6-bfd3c65d7338' date '13 July 2010' time '4:21:35 pm' author 'lr' ancestors ((name 'Filesystem-lr.78' message '- categorized all methods and fixed numerous other lint complaints, removed some unused code' id '8b72d77f-9e0a-48c6-bbdb-568979911296' date '13 July 2010' time '3:39:10 pm' author 'lr' ancestors ((name 'Filesystem-lr.77' message '- fixed the encoding issues with the Disk-Filesystem (encode filenames passed to primitives, decodes filenames coming from primitives)' id 'da2add04-4e19-471c-93f1-b9d0072a5884' date '13 July 2010' time '2:22:51 pm' author 'lr' ancestors ((name 'Filesystem-lr.76' message '- added the changes file and the image directory to the known locations
- memory filesystem always returns the entries in sorted order (before this was arbitrarily depending on the hashing and causing some tests to fail randomly)' id 'cfa2a8af-6644-41fc-aec4-8c21c8758e84' date '13 July 2010' time '2:00:14 pm' author 'lr' ancestors ((name 'Filesystem-MaxLeske.75' message '*pushed to methods to the abstract class
*#delete: expects a path, not a string' id '0f565b2b-1dcc-4f51-9e3c-2b3d0233a415' date '9 July 2010' time '12:49:54 pm' author 'MaxLeske' ancestors ((name 'Filesystem-lr.74' message '- slightly simplified test for #childDirectories and #childFiles' id 'd82ffe50-3b9f-447f-a62c-233d39e7afb3' date '26 April 2010' time '9:14:50 pm' author 'lr' ancestors ((name 'Filesystem-MaxLeske.73' message '* added enumeration methods #childDirectories and #childFiles to FSReference
* added tests for those methods' id 'de5a2b22-9290-48c2-be18-1eeba24dda82' date '26 April 2010' time '9:07:16 pm' author 'MaxLeske' ancestors ((name 'Filesystem-lr.72' message '- flush the disk filesystems when resuming from snapshot' id '0303f396-ed88-4413-bcb4-1b0c390035e3' date '24 April 2010' time '2:05:22 pm' author 'lr' ancestors ((name 'Filesystem-lr.71' message '- fix: #nextPutAll: supports writing strings, but #nextPut: does not support writing Characters' id '94bf6f9d-5928-46ec-97be-e855222d5ca2' date '13 April 2010' time '4:13:20 pm' author 'lr' ancestors ((name 'Filesystem-lr.70' message '- backported some changes' id 'b8657eee-af35-47cc-becd-b64150f7d42c' date '13 April 2010' time '3:42:09 pm' author 'lr' ancestors ((name 'Filesystem-lr.69' message '- fixed obsolete class' id 'de6011d0-45de-4570-86c5-59dc82615490' date '30 March 2010' time '12:10:49 am' author 'lr' ancestors ((name 'Filesystem-lr.68' message '- added a (failing) test that demonstrate filename encoding problems with the disk-filesystem' id 'c1d6049f-3621-41b7-87bf-aad829266836' date '21 March 2010' time '12:32:36 pm' author 'lr' ancestors ((name 'Filesystem-lr.67' message '- made the zip filesystem tests pass (less space and time efficient, but it works)' id '2cd2dc80-8da0-44da-9897-06d096b77f13' date '20 February 2010' time '11:51:34 pm' author 'lr' ancestors ((name 'Filesystem-lr.66' message '- added tests for bug when opening and closing zip filesystems' id '8089958f-527b-4418-84ec-91aca4533fa2' date '20 February 2010' time '11:54:09 am' author 'lr' ancestors ((name 'Filesystem-lr.65' message '- fixing some more issues with buffer size in #at:read:startingAt:count:' id 'd1677820-a199-4e9e-baaa-abaa39a88027' date '15 February 2010' time '8:56:36 pm' author 'lr' ancestors ((name 'Filesystem-lr.64' message '- added #working similar to #root to FSFilesystem
- added tests for FSFilesystem>>#root and #working' id '9658cf60-38de-4bea-8a62-67e5f63a8189' date '14 February 2010' time '9:50:40 am' author 'lr' ancestors ((name 'Filesystem-cwp.63' message 'Make files in memory and zip filesystems grow more efficiently.' id 'c6981f62-2e2a-4b03-ae34-dba1dc705359' date '31 January 2010' time '10:48:33 am' author 'cwp' ancestors ((name 'Filesystem-cwp.62' message 'Fixes for minor bugs revealed by Lukas'' attempt to write a zip filesystem in a memory filesystem.' id 'e8bdfc60-ffff-4184-b51d-9d63da368688' date '31 January 2010' time '10:16:22 am' author 'cwp' ancestors ((name 'Filesystem-cwp.61' message 'merge' id 'd10f0aa4-a0b5-4dec-ad79-5218e894505d' date '31 January 2010' time '10:10:37 am' author 'cwp' ancestors ((name 'Filesystem-cwp.60' message 'Flush stream before closing.' id '50510b85-f079-4506-9815-c7144167439a' date '8 January 2010' time '1:44:36 am' author 'cwp' ancestors ((name 'Filesystem-cwp.58' message 'Implemented FSReference class>>roots' id 'e0f35b15-bf13-db42-a732-8df81adb6144' date '21 November 2009' time '12:34:22 pm' author 'cwp' ancestors ((name 'Filesystem-cwp.57' message 'Renamed #stringToPath: as #pathFromString:, and similarly for #stringToReference and #toPath:. Suggestion by Julian Fitzell.' id 'b00e2df5-9d08-4e86-bdb9-2b08f2082ebd' date '21 November 2009' time '11:43:45 am' author 'cwp' ancestors ((name 'Filesystem-cwp.56' message 'A couple of fixes suggested by Andreas Raab.' id '443de7b6-11ba-a44d-8ead-7107789eaef5' date '21 November 2009' time '10:46:34 am' author 'cwp' ancestors ((name 'Filesystem-cwp.55' message 'Windows fixes from Eliot and Andreas.' id 'bd5b96f7-e585-824f-a4a3-802ee2025655' date '20 November 2009' time '11:02:04 am' author 'cwp' ancestors ((name 'Filesystem-cwp.54' message 'merge' id '22e81857-339b-1144-bb75-e64c48c29198' date '20 November 2009' time '8:49:35 am' author 'cwp' ancestors ((name 'Filesystem-cwp.53' message 'Added startup code to handle moving the image between platforms.' id '6a683846-870a-40f0-87be-351e61edd18d' date '20 November 2009' time '4:57:15 am' author 'cwp' ancestors ((name 'Filesystem-cwp.52' message 'Added FSReleaseInfo, to allow for upgrades via SAR.' id 'fc28c215-fec6-430e-bb89-a028cbe37e16' date '20 November 2009' time '1:19:23 am' author 'cwp' ancestors ((name 'Filesystem-cwp.51' message 'Added class comments.' id '8822a1ae-d81d-46cd-bad2-2a62b03f8411' date '19 November 2009' time '12:06:44 pm' author 'cwp' ancestors ((name 'Filesystem-cwp.50' message 'Categorized all methods.' id '32bda33d-314e-4546-9a02-9700ed9771cb' date '18 November 2009' time '10:47:20 am' author 'cwp' ancestors ((name 'Filesystem-cwp.49' message 'Sorted out extension handling. #, now always adds a new extension and #withExtension: always replaces the existing extension. Neither of them accepts extensions with leading delimiters.' id 'b4f0ecc5-9af5-492b-bc5d-b74a8e7f5b36' date '18 November 2009' time '12:05:20 pm' author 'cwp' ancestors ((name 'Filesystem-cwp.48' message 'Clarified semantics of #createDirectory vs. #ensureDirectory. Cleaned up exceptions. Simplified FSDeleteVisitor. ' id '10ee7680-5a1e-4499-9c87-2396b32ffff1' date '17 November 2009' time '11:13:06 am' author 'cwp' ancestors ((name 'Filesystem-cwp.47' message 'Made FSPath>>printOn: friendlier' id '47fb340a-f32d-4bf1-8dac-3a2b5bf9baaa' date '17 November 2009' time '10:36:49 am' author 'cwp' ancestors ((name 'Filesystem-cwp.46' message 'Clean up of enumeration API in FSReference: new tests, delegation methods in FSLocator, and conversion of guide and visitors to pass entries rather than references.' id '6e4e27d2-9aaf-4987-b9d5-4956cefa35d2' date '16 November 2009' time '10:02:43 am' author 'cwp' ancestors ((name 'Filesystem-cwp.45' message 'Implemented FSCollectionVisitor, which gathers an array of all nodes in the filesystem beneath a given directory. 

Also introduced FSDirectoryEntry for caching stat() information on fs nodes. This is crucial for performance of filesystem enumeration; it takes the algorithm from O(n^2) to O(n). ' id '48137664-3848-44ff-877d-6f893ad0075c' date '16 November 2009' time '1:14:32 am' author 'cwp' ancestors ((name 'Filesystem-cwp.44' message 'Implemented recursive copy and delete.' id 'fdaaa28d-6a5a-4877-982e-50b74af3afcf' date '15 November 2009' time '12:59:46 pm' author 'cwp' ancestors ((name 'Filesystem-cwp.43' message 'Filesystem now uses its own error hierarchy rather than the existing InvalidDirectoryError, FileDoesNotExistException and FileExistsException. This lets us have sane defaultActions and makes debugging errors in the test runner feasible.' id 'd5cb0d5d-feac-4386-a1e5-bcc34583ed13' date '14 November 2009' time '11:41:22 am' author 'cwp' ancestors ((name 'Filesystem-cwp.42' message 'Implemented guides for enumerating filesystem objects.' id '92c253dc-ca8d-42d9-9ac1-95dec9626420' date '14 November 2009' time '10:44:29 am' author 'cwp' ancestors ((name 'Filesystem-cwp.41' message 'Added delegation methods to FSLocator for working with streams.' id 'c9b58194-9a91-42f2-9cff-e1c451891368' date '29 October 2009' time '11:25:22 am' author 'cwp' ancestors ((name 'Filesystem-cwp.40' message 'Implemented #readStreamIfAbsent:, #readStreamDo:ifAbsent:, #writeStreamIfPresent:, and #writeStreamDo:ifPresent:, with tests.' id 'e4adf410-0a1c-435d-b6ba-2fcc13e41adc' date '29 October 2009' time '11:13:32 am' author 'cwp' ancestors ((name 'Filesystem-cwp.39' message 'Restored FSPath class>>#* since using #with: and parenthesis is just too awkward.' id '5017e279-09be-4125-9069-99ace30f2624' date '29 October 2009' time '9:32:42 am' author 'cwp' ancestors ((name 'Filesystem-cwp.38' message 'Removed dependency on OSProcess.' id '0e9c0783-8438-440a-ba5b-bb17b67d8691' date '27 October 2009' time '10:30:03 am' author 'cwp' ancestors ((name 'Filesystem-cwp.37' message 'Got FSWindowsResolver working.' id 'ebec9ea3-4db7-e141-bfb3-c2c343b365ed' date '27 October 2009' time '9:14:07 am' author 'cwp' ancestors ((name 'Filesystem-cwp.36' message 'Implemented #home, #desktop and #trash origins on MacOS.' id '1e81bd54-abb4-4526-b286-540c5f89c6d6' date '27 October 2009' time '11:28:17 am' author 'cwp' ancestors ((name 'Filesystem-cwp.35' message 'Implemented FSInteractiveResolver.' id 'd9796ad0-ffb8-4778-9653-91a0c56780eb' date '27 October 2009' time '10:51:08 am' author 'cwp' ancestors ((name 'Filesystem-cwp.34' message 'Resolvers are now chained rather than assigning a single resolver. ' id '7b211f32-1ea9-4cd1-8f63-0b9131840f37' date '26 October 2009' time '9:38:14 am' author 'cwp' ancestors ((name 'Filesystem-cwp.33' message 'Implemented locators.' id '0c4f21bd-97d3-49ee-904a-7339d991856b' date '26 October 2009' time '7:47:01 am' author 'cwp' ancestors ((name 'Filesystem-cwp.32' message 'Oops. Fixed off-by-one error.' id '1fe20ae1-3087-4afc-a40d-f5ae5a583b1e' date '15 October 2009' time '10:07:27 am' author 'cwp' ancestors ((name 'Filesystem-cwp.31' message 'Added #truncate and #truncateTo: to FSWriteStream.' id 'b7c7bfc6-2282-44f5-bd0c-0a4a6c444ba0' date '15 October 2009' time '9:56:57 am' author 'cwp' ancestors ((name 'Filesystem-cwp.30' message 'Added a missing implemetation of #resolveString:' id 'b70e9eb3-3795-4845-a302-5ae911bc0167' date '12 October 2009' time '10:43:41 am' author 'cwp' ancestors ((name 'Filesystem-cwp.28' message 'All tests pass on Mac OS X again.' id 'c79032a6-bdd9-4c99-87f3-e75e02dc760c' date '11 October 2009' time '10:39:13 am' author 'cwp' ancestors ((name 'Filesystem-cwp.27' message 'All tests passing on Windows.' id '687f065e-6ce5-8e4b-9ffa-f77e248bc5bf' date '11 October 2009' time '10:25:47 am' author 'cwp' ancestors ((name 'Filesystem-cwp.26' message 'Removed remaining senders of #asPath, except the tests for #asPath. Can''t get rid of it entirely until senders in Mason are removed.' id 'bc7a2397-f318-4b91-878d-0af50c5a4759' date '10 October 2009' time '6:16:21 am' author 'cwp' ancestors ((name 'Filesystem-cwp.25' message 'Removed some senders of #asPath.' id '9bbe13b8-a3b7-4726-9a8e-3ce44b859ec5' date '10 October 2009' time '5:37:29 am' author 'cwp' ancestors ((name 'Filesystem-cwp.23' message 'Added some special-casing for the root path, since it is its own parent. ' id 'bcf580b2-4159-4892-a250-e106bece81ff' date '10 October 2009' time '12:43:37 pm' author 'cwp' ancestors ((name 'Filesystem-cwp.22' message 'ZipFilesystem now keeps a list of directories outside of the zip archive, since directory entries are interpreted oddly.' id '6a15d55c-857f-4411-9414-352d4d414e90' date '22 September 2009' time '11:41:50 am' author 'cwp' ancestors ((name 'Filesystem-cwp.21' message 'Changed resolution to use double dispatch, so we get sensible resolutions for all combinations of references, paths, and strings.' id 'ac02831f-dce0-43f8-bedb-19a38c5a570c' date '22 September 2009' time '11:10:43 am' author 'cwp' ancestors ((name 'Filesystem-cwp.20' message 'ZipFilesystem now keeps a reference to the file that contains it. A few other minor tweaks and fixes.' id '112c6b42-edb7-40a1-887b-6b9e2acdfee9' date '21 September 2009' time '11:08:18 am' author 'cwp' ancestors ((name 'Filesystem-cwp.19' message 'Moved some instance creation methods from FSPath to FSReference since it makes more sense to use a reference in most cases.' id 'e926ba6d-f57e-4b0b-85fa-f8470d5f17ea' date '19 September 2009' time '9:41:29 am' author 'cwp' ancestors ((name 'Filesystem-cwp.18' message 'Equivalent to Filesystem-cwp.18 in MC2.' id '993d9525-1fd8-4087-84ca-8d3d2dfe985c' date '30 August 2009' time '10:26:27 pm' author 'cwp' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Filesystem-cwp.24' message 'Small fixes to get tests passing on Windows. FSDiskFilesystemTest still crashes the windows VM though.' id '71e7ab20-60bb-9842-b368-60c637fab8bf' date '10 October 2009' time '5:26:54 am' author 'cwp' ancestors ((id 'bcf580b2-4159-4892-a250-e106bece81ff')) 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 'Filesystem-cwp.29' message 'Added #changeDisk: to FSWindowsFilesystem, so that the default disk can be changed by the user.' id '3e872a9c-b6ab-ef4b-b41f-d152e5f35db7' date '11 October 2009' time '10:46:16 am' author 'cwp' ancestors ((id 'c79032a6-bdd9-4c99-87f3-e75e02dc760c')) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())(name 'Filesystem-cwp.59' message 'Contribution from Patrick Shouse <shouse.patrick@gmail.com>, implementing a resolver for unix platforms.' id '1893c4a6-41d0-4fe8-be64-ecf63d30db1e' date '23 December 2009' time '11:12:45 am' author 'cwp' ancestors ((id 'e0f35b15-bf13-db42-a732-8df81adb6144')) 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 ())