Tue Sep 17 19:54:42 ART 2013 Jose Luis Neder * Fix warnings for ghc >= 7.4 * redundant imports * non-exhaustive pattern matches * name clashes * missing top-level signatures * unused variables Wed Sep 11 10:40:37 ART 2013 Jose Luis Neder * add fileid info to the index format add some utility functions in AnchoredPath too for managing fileids. bump version to 0.5.11 Tue Sep 11 19:11:42 ART 2012 Ganesh Sittampalam * fix build on GHC 7.6: switch to Control.Exception Sat Oct 8 17:41:35 ART 2011 Petr Rockai tagged 0.5.9 Sat Oct 8 17:41:35 ART 2011 Petr Rockai * Bump version to 0.5.9 Sat Oct 8 17:41:05 ART 2011 Petr Rockai * Fix buggy xlate implementation on BE systems. Sun Aug 14 05:21:55 ART 2011 Petr Rockai tagged 0.5.8 Sun Aug 14 05:21:55 ART 2011 Petr Rockai * Bump version to 0.5.8 Sun Aug 14 05:21:02 ART 2011 Petr Rockai * Export TreeRO/TreeRW from Storage.Hashed.Monad. Fri Aug 12 06:46:28 ART 2011 Ganesh Sittampalam * updates for GHC 7.2 Sun Jun 5 10:51:23 ART 2011 Petr Rockai * Require base >= 4. Sun May 15 06:53:01 ART 2011 Petr Rockai tagged 0.5.7 Sun May 15 06:53:01 ART 2011 Petr Rockai * Bump version to 0.5.7 Wed May 11 04:38:00 ART 2011 Florent Becker * Add Storage.Hashed.Tree.checkExpand to test if a stored tree is consistent Sun Apr 3 19:02:13 ART 2011 Petr Rockai tagged 0.5.6 Sun Apr 3 19:02:04 ART 2011 Petr Rockai * Bump version to 0.5.6. Sun Apr 3 19:01:43 ART 2011 Petr Rockai * Backport findM/findTreeM/findFileM from HEAD. Mon Feb 14 06:02:01 ART 2011 Petr Rockai tagged 0.5.5 Mon Feb 14 06:02:01 ART 2011 Petr Rockai * Bump version to 0.5.5 Sun Feb 13 19:37:07 ART 2011 Ganesh Sittampalam * get rid of unused MonadError constraints Sun Nov 21 10:00:59 ART 2010 Petr Rockai tagged 0.5.4 Sun Nov 21 10:00:59 ART 2010 Petr Rockai * Bump version to 0.5.4 Sun Nov 21 10:00:34 ART 2010 Petr Rockai * Require QC >= 2.3 and drop conflicting instances. Sun Nov 21 10:00:26 ART 2010 Petr Rockai * Build with mtl >= 2. Tue Sep 7 22:00:34 ART 2010 Petr Rockai tagged 0.5.3 Tue Sep 7 22:00:12 ART 2010 Petr Rockai * Fix the version tag check in release.sh. Mon Aug 30 17:30:55 ART 2010 Petr Rockai * There is no need to flush a "virtual" TreeMonad. Mon Aug 30 17:14:43 ART 2010 Petr Rockai * Expand the input Tree before writing it out in writePlainTree. Sat Aug 14 15:12:30 ART 2010 Eric Kow * Fix hyperlink to Storage.Hashed.Index. Single quotes for functions, double-quotes for modules.. Sat Aug 14 15:04:14 ART 2010 Eric Kow * Move documentation on index format to module-level. The peekItem function is not exported, so its haddock does not show up on Hackage. Wed Aug 11 12:57:15 ART 2010 Petr Rockai * Improve error messages in modifyTree. Mon Aug 9 15:04:02 ART 2010 Petr Rockai * Rewrite TreeMonad's flush-to-disk logic and simplify its frontends. Instead of flushing everything and starting with clean slate every circa 100 megabytes worth of changes, use a proper cache with aging: files that have been untouched for a long time get flushed first when the buffer is getting too big. Mon Aug 9 14:57:02 ART 2010 Petr Rockai * Leave out useless forcing from partiallyUpdateTree. Mon Aug 9 14:56:25 ART 2010 Petr Rockai * Fix a bug in partiallyUpdateTree. Mon Aug 9 14:55:30 ART 2010 Petr Rockai * Factor out (general) addMissingHashes out of darcsAddMissingHashes. Mon Aug 9 10:23:16 ART 2010 Petr Rockai * Bump version to 0.5.3. Mon Aug 9 10:18:57 ART 2010 Petr Rockai * Add more efficient partiallyUpdateTree and implement updateTree in terms of it. Mon Aug 9 10:18:31 ART 2010 Petr Rockai * Add a hopefully-efficient "copy" operation to TreeRW. Mon Aug 9 10:17:23 ART 2010 Petr Rockai * Make Hash an instance of Typeable and Data. Tue Jul 27 19:56:48 ART 2010 Petr Rockai * Fix up compilation of the Diff module. Fri Jul 16 10:56:25 ART 2010 Petr Rockai * Avoid haskell98 usage in Setup. Wed Jun 23 16:57:15 ART 2010 Petr Rockai * Eliminate use of Storage.Hashed.Utils.(?) in Storage.Hashed.Index. (Originally by Eric Kow.) Wed May 27 08:41:25 ART 2009 Eric Kow * Cut unused Storage.Hashed.Utils.(?) function. Wed May 27 08:41:22 ART 2009 Eric Kow * Avoid (?) function within Storage.Hashed.Utils. Sun Jun 6 11:25:14 ART 2010 Petr Rockai tagged 0.5.2 Sun Jun 6 11:25:14 ART 2010 Petr Rockai * Bump version to 0.5.2 Sun Jun 6 11:23:04 ART 2010 Petr Rockai * Drop a redundant check from release.sh. Sun Jun 6 11:22:25 ART 2010 Petr Rockai * Suggest using -i in release.sh. Sun Jun 6 11:21:25 ART 2010 Petr Rockai * Track changed files across directory renames, in TreeMonad. Thu Jun 3 17:49:57 ART 2010 Petr Rockai tagged 0.5.1 Thu Jun 3 17:49:57 ART 2010 Petr Rockai * Bump version to 0.5.1 Thu Jun 3 17:49:50 ART 2010 Petr Rockai * More guards in release.sh. Thu Jun 3 17:45:44 ART 2010 Petr Rockai * Guard against tainted release tarballs in release.sh. Thu Jun 3 17:41:50 ART 2010 Petr Rockai * Make readBlob work out of the original working directory for Index Trees. Fri May 7 06:34:49 ART 2010 Petr Rockai * Add a simple release script. Thu May 6 07:37:25 ART 2010 Petr Rockai tagged 0.5 Thu May 6 07:36:05 ART 2010 Petr Rockai * Civilise error message. Thu May 6 07:33:26 ART 2010 Petr Rockai * Bump version to 0.5. Sun May 2 15:29:44 ART 2010 Petr Rockai * Fix build on GHC 6.12 on Windows. Sat Apr 24 11:02:56 ART 2010 Petr Rockai tagged 0.4.12 Sat Apr 24 10:47:57 ART 2010 Petr Rockai * Bump version to 0.4.12. Sat Apr 24 06:11:31 ART 2010 Petr Rockai * Work around yet another lstat bug (this time on win32). Sun Apr 11 11:15:21 ART 2010 Eric Kow tagged 0.4.11 Sun Apr 11 11:15:13 ART 2010 Eric Kow * Bump version to 0.4.11. Tue Apr 6 09:52:18 ART 2010 Petr Rockai * Only consider regular files and directories in Plain trees. Wed Mar 24 18:07:53 ART 2010 Petr Rockai tagged 0.4.10 Wed Mar 24 18:07:45 ART 2010 Petr Rockai * Bump version to 0.4.10. Wed Mar 24 06:34:47 ART 2010 Petr Rockai * Properly notice disappearing files in Index. Wed Mar 24 06:32:55 ART 2010 Petr Rockai * Roll back a broken workaround. Sun Mar 21 11:54:09 ART 2010 Petr Rockai tagged 0.4.9 Sun Mar 21 11:54:03 ART 2010 Petr Rockai * Bump version to 0.4.9. Sun Mar 21 11:48:50 ART 2010 Petr Rockai * Make Index not break itself when a new empty directory emerges. Sun Mar 21 08:41:09 ART 2010 Petr Rockai * Explain req_size in mmapIndex's haddock. Sun Mar 21 07:03:46 ART 2010 Petr Rockai * Never follow symlinks. Fri Mar 19 11:35:51 ART 2010 Petr Rockai * Add readDarcsHashedNosize that fails on encountering a size-prefixed hash. Sun Mar 7 08:31:07 ART 2010 Petr Rockai * Use mmap >= 0.5. Sat Mar 20 11:21:08 ART 2010 Petr Rockai tagged 0.4.8 Sat Mar 20 11:21:00 ART 2010 Petr Rockai * Bump version to 0.4.8. Fri Mar 12 09:07:29 ART 2010 Sergei Trofimovich * fixup index creation on 64bit-BE platforms (tested on ppc64) Fixing following test failures: ~/devel/hashed-storage $ cabal test Storage.Hashed.Tree: diffTrees: [Failed] ERROR: user error (Descriptor too short in peekItem!) Storage.Hashed.Index: index listing: [Failed] ERROR: user error (Descriptor too short in peekItem!) index content: [Failed] ERROR: user error (Descriptor too short in peekItem!) Test Cases Total Passed 0 0 Failed 3 3 Total 3 3 Sun Mar 7 08:31:01 ART 2010 Petr Rockai * Fix computation of index mmap region size for pre-existing index. Sat Feb 13 16:18:13 ART 2010 Petr Rockai * Fix withDirectory handling in Monad. Sat Feb 13 16:12:57 ART 2010 Petr Rockai * Add a testcase for Monad's rename action. Sat Feb 13 16:12:29 ART 2010 Petr Rockai * Add a testcase and a QC property for expandPath. Sat Feb 13 16:11:14 ART 2010 Petr Rockai * Avoid a redundant replaceItem call on directories in hashedTreeIO/sync. Sat Feb 13 16:08:39 ART 2010 Petr Rockai * Make expandPath more robust and useful. Sat Feb 13 16:08:09 ART 2010 Petr Rockai * Lift unstub/isSub to toplevel in Tree, as they are useful elsewhere. Sat Feb 13 16:05:46 ART 2010 Petr Rockai * Add a couple assertions to darcs hashed format code. Sat Feb 13 16:00:41 ART 2010 Petr Rockai * Encountering Stub in darcsFormatDir is not fatal as long as a Hash is there. Sat Feb 13 16:00:02 ART 2010 Petr Rockai * Also correctly canonize "." in floatPath. Fri Feb 12 12:21:52 ART 2010 Petr Rockai * Make modifyTree more conservative about sticking NoHash around. Mon Feb 15 13:56:56 ART 2010 Petr Rockai tagged 0.4.7 Mon Feb 15 13:56:50 ART 2010 Petr Rockai * Bump version to 0.4.7. Sat Feb 13 15:57:06 ART 2010 Petr Rockai * Export currentDirectory from Storage.Hashed.Monad. Thu Feb 4 06:47:46 ART 2010 Petr Rockai * Import a simple test for Monad leakproofness/performance. Thu Feb 4 06:45:26 ART 2010 Petr Rockai * Use replaceItem in plainTreeIO sync. Thu Feb 4 06:44:35 ART 2010 Petr Rockai * Fix up changesize accounting in Monad to reflect reality. Thu Feb 4 06:39:26 ART 2010 Petr Rockai * Reduce Tree's inclination to leakiness, especially in modifyTree. This comes with a data representation change, only using a single Map to hold children of a Tree, with the list being a derivative now. This *might* cause some slight slowdowns somewhere, but currently the only other option is unreasonably strictifying both representations, which could actually come with worse penalties. Now modifyTree, as things are, seems to be reasonably leak-proofed. Wed Feb 3 07:58:37 ART 2010 Petr Rockai tagged 0.4.6 Wed Feb 3 07:58:30 ART 2010 Petr Rockai * Bump version (0.4.6). Wed Feb 3 07:27:52 ART 2010 Petr Rockai * Remove the empty-dir hack in favour of a proper (and correct) fix. In an index update, the changes propagate from the leaves (usually files) to the root. Directories are only updated in case a child node of them has been updated. However, leaf (empty) directories had been neglected and could lead to blank index positions. Sun Jan 17 13:55:43 ART 2010 Petr Rockai tagged 0.4.5 Sun Jan 17 13:55:37 ART 2010 Petr Rockai * Bump version to 0.4.5. Sun Jan 17 13:10:40 ART 2010 Petr Rockai * Defer SHA256 from MonadRW updates until disk flush, saving lots of cycles. Thu Jan 14 10:48:19 ART 2010 Petr Rockai * Update the license/copyright information on SHA256.hs. Tue Jan 12 11:47:24 ART 2010 Petr Rockai tagged 0.4.4 Tue Jan 12 11:47:16 ART 2010 Petr Rockai * Bump version to 0.4.4. Tue Jan 12 11:43:45 ART 2010 Petr Rockai * Fix indexed hashes of empty directories. Tue Jan 12 11:46:06 ART 2010 Petr Rockai tagged 0.4.3 Tue Jan 12 11:45:11 ART 2010 Petr Rockai * Safer makeName implementation. Tue Jan 12 11:44:13 ART 2010 Petr Rockai * Bumped version to 0.4.3. Sat Nov 14 14:39:12 ART 2009 Petr Rockai tagged 0.4.3 Sat Nov 14 14:33:56 ART 2009 Petr Rockai * Fix build on windows (missing import for (<.>)). Sat Nov 14 14:33:20 ART 2009 Petr Rockai * The ScopedTypeVariables extension doesn't work with GHC 6.8. Sat Nov 14 14:18:05 ART 2009 Petr Rockai tagged 0.4.2 Sat Nov 14 14:17:30 ART 2009 Petr Rockai * Bump version to 0.4.2. Sat Nov 14 14:14:50 ART 2009 Petr Rockai * Resolve conflicts with Salvatore + improve formatting a bit. Sat Nov 14 13:11:17 ART 2009 Salvatore Insalaco * Make it work on Windows. Sat Nov 14 11:28:32 ART 2009 fis@etc-network.de * Guards and helper functions -> patterns. Sat Nov 14 11:39:51 ART 2009 fis@etc-network.de * Eliminate two more trivial warnings. Sat Nov 14 12:01:05 ART 2009 Petr Rockai * Further tweak haddocks in AnchoredPath. Sat Nov 14 11:59:14 ART 2009 Petr Rockai * Improve haddocks in the AnchoredPath module. Sat Nov 14 09:04:19 ART 2009 dixiecko@gmail.com * Remove a few trivial warnings (other part). Sat Nov 14 08:22:01 ART 2009 fis@wiwi.hu-berlin.de * Remove a few trivial warnings. Sat Nov 14 06:17:10 ART 2009 Joachim Breitner * notElem instead of not $ .. elem Tue Oct 27 06:23:39 ART 2009 Petr Rockai * BS8 -> BSC for the Char8 ByteString qualified name in Index. Tue Oct 27 05:29:48 ART 2009 Petr Rockai * Also use mmap in indexFormatValid to avoid permission problems on win32. Sun Oct 25 11:29:16 ART 2009 Petr Rockai tagged 0.4.1 Sun Oct 25 11:29:04 ART 2009 Petr Rockai * Bump version to 0.4.1. Tue Oct 6 17:57:08 ART 2009 Petr Rockai * Include testdata.zip in the source tarball. Sun Oct 25 11:28:01 ART 2009 Petr Rockai * Stale comment, magic not found. Sun Oct 25 11:27:32 ART 2009 Petr Rockai * More sophisticated QC for overlay. Sun Oct 25 11:11:41 ART 2009 Petr Rockai * Improve the shape comparison operators in Test. Sun Oct 25 10:53:30 ART 2009 Petr Rockai * Document and somewhat re-formulate overlay (in Tree). Sun Oct 25 10:50:25 ART 2009 Petr Rockai * Implement basic QC for Tree overlay. Sat Oct 24 10:14:17 ART 2009 Petr Rockai * Avoid clobbering existing hashed files in writeDarcsHashed. Tue Oct 20 12:12:37 ART 2009 Petr Rockai * Implement a rudimentary "overlay" Tree operation. Tue Oct 6 03:25:51 ART 2009 Petr Rockai * Organize build-depends in the cabal file a bit more nicely. Tue Oct 6 03:20:58 ART 2009 Petr Rockai * Cap the mmap dependency at < 0.5. Mon Oct 5 13:22:22 ART 2009 Eric Kow * Fix broken link. Mon Oct 5 13:19:17 ART 2009 Eric Kow * Tweak haddock syntax. Mon Oct 5 13:16:40 ART 2009 Eric Kow * Tweak haddock style. Mon Oct 5 13:06:05 ART 2009 Eric Kow * Camel-case darcs_location. Sun Oct 4 14:19:17 ART 2009 Petr Rockai * Make readDarcsPristine a private Test utility, removing it from API. Sun Sep 27 12:23:30 ART 2009 Petr Rockai * Replace StateT with RWST in Monad, improving code safety. Fri Sep 25 06:13:08 ART 2009 Jason Dagit * Refactor sortedUnion so it can be used in zipFiles. Fri Sep 25 05:24:01 ART 2009 Jason Dagit * allow zipTrees to take advantage of sorted union of lists This gives significant performance improvements (order of magnitude in some use cases). Wed Sep 23 13:57:10 ART 2009 Petr Rockai * Refactor Monad into two type classes for read and write access, respectively. Wed Sep 23 13:56:34 ART 2009 Petr Rockai * Clarify the leak comment in Monad. Mon Sep 21 17:03:27 ART 2009 Petr Rockai * Refactor index creation code for better readability. Mon Sep 21 17:02:50 ART 2009 Petr Rockai * A bit of work on the Plain module haddocks. Mon Sep 21 16:56:36 ART 2009 Petr Rockai * Move plainTreeIO from Monad to Plain. Mon Sep 21 16:50:37 ART 2009 Petr Rockai * Attempt to clarify haddocks in Monad. Mon Sep 21 16:49:32 ART 2009 Petr Rockai * Refactor the syncing machinery of Monad somewhat. Mon Sep 21 16:47:54 ART 2009 Petr Rockai * More NEWS. Sat Sep 12 10:28:06 ART 2009 Petr Rockai * Refactor hashedTreeIO to avoid updateFile code duplication. Sat Sep 12 10:23:36 ART 2009 Petr Rockai * Move Hash matching into the Hash module, from Tree/diffTrees. Sat Sep 12 08:04:51 ART 2009 Petr Rockai * Provide a global updateIndex instead of giving an index-specific one. Sat Sep 12 07:38:56 ART 2009 Petr Rockai * Add Plain to the module list in the cabal file. Sat Sep 12 07:38:21 ART 2009 Petr Rockai * Rename pokeBS to unsafePokeBS. Sun Sep 6 15:02:17 ART 2009 Petr Rockai * Rename read to readBlob to avoid an annoying conflict with Prelude. Sun Sep 6 14:58:43 ART 2009 Petr Rockai * Migrate the plain format code into Storage.Hashed.Plain. Sun Sep 6 14:50:09 ART 2009 Petr Rockai * Code formatting in diffTrees. Sun Sep 6 14:48:17 ART 2009 Petr Rockai * Leave out subtrees that are empty on both sides in diffTrees. Sun Sep 6 14:43:08 ART 2009 Petr Rockai * Move all the darcs-specific bits into Storage.Hashed.Darcs. Tue Aug 11 06:26:14 ART 2009 Petr Rockai * Afterall, leaving out empty subtrees in diffTrees was not such a great idea. Mon Aug 10 19:06:07 ART 2009 Petr Rockai * Implement rudimentary writeDarcsHashed to dump a full Tree. Mon Aug 10 18:06:31 ART 2009 Petr Rockai * A little more verbose assertions in unit tests. Mon Aug 10 18:06:13 ART 2009 Petr Rockai * A little more legible error message. Mon Aug 10 18:04:29 ART 2009 Petr Rockai * One more optimisation and refactoring pass through Index. Mon Aug 10 18:04:04 ART 2009 Petr Rockai * Make equals_testdata actually check for equality instead of subset. Mon Aug 10 18:01:59 ART 2009 Petr Rockai * Use Maybe in darcsFormatDir and NoHash in darcsTreeHash for failure. Mon Aug 10 18:01:22 ART 2009 Petr Rockai * Update the hashes before using them in writePackedDarcsPristine. Mon Aug 10 17:57:28 ART 2009 Petr Rockai * Fix up the Packed unit tests. Mon Aug 10 17:48:53 ART 2009 Petr Rockai * Fix the binary search in readPack's _lookup. Mon Aug 10 13:19:24 ART 2009 Petr Rockai * Remove DarcsSHA256 from the Hash type. Mon Aug 10 11:42:02 ART 2009 Petr Rockai * Add rawHash :: Hash -> BS.ByteString to Hash. Mon Aug 10 11:40:52 ART 2009 Petr Rockai * Add align :: Integral a => a -> a -> a to Utils (+ QC properties). Mon Aug 10 11:37:56 ART 2009 Petr Rockai * Leave out empty SubTrees out of diffTrees result. Mon Aug 10 11:37:27 ART 2009 Petr Rockai * The darcs and nondarcs SHA256s match if the actual hashes match. Mon Aug 10 11:35:42 ART 2009 Petr Rockai * Add an anchoredRoot constant to AnchoredPath module. Mon Aug 10 06:52:24 ART 2009 Petr Rockai * Reorder the index testcases to facilitate post-mortem index analysis. Sun Aug 9 06:38:45 ART 2009 Petr Rockai * Note the Index rewrite in NEWS. Sat Aug 8 19:15:54 ART 2009 Petr Rockai * Further optimisation of Index (changes layout -> new magic, HSI3). Sat Aug 8 17:39:16 ART 2009 Petr Rockai * Massive rewrite of Index, leading to better, cleaner *and* faster code. Sat Aug 8 17:38:36 ART 2009 Petr Rockai * Rework do_stat to reduce allocations and control flow. Fri Aug 7 15:54:57 ART 2009 Petr Rockai * Some reasonable primitives to work with current directory in Monad. Fri Aug 7 12:47:57 ART 2009 Petr Rockai * Rework updateTreePostorder to updateSubtrees and updateTree. The rework also propagated into darcsUpdateHashes, which is now darcsUpdateDirHashes, and a version that recomputes everything from file content is available as darcsUpdateHashes (lives in IO, unlike the former). Fri Aug 7 12:47:10 ART 2009 Petr Rockai * Explicit errors in Index on empty paths in Index. Fri Aug 7 12:46:26 ART 2009 Petr Rockai * Fix size miscalculation in Index introduced in the magic number cleanup. Fri Aug 7 07:17:10 ART 2009 Petr Rockai * Lift filter into a type class and overload it for IndexTree. Fri Aug 7 06:22:16 ART 2009 Petr Rockai * Hide the (dangerous) Tree originating from readIndex in a newtype. Fri Aug 7 06:22:04 ART 2009 Petr Rockai * Generalize the type of restrict a little. Wed Aug 5 18:53:50 ART 2009 Petr Rockai * Civilise usage of magic numbers in Index. Wed Aug 5 16:46:51 ART 2009 Petr Rockai * Add makeBlob/makeBlobBS to create blobs from bytestrings conveniently. Wed Aug 5 08:06:28 ART 2009 Petr Rockai * Copy-edit the Index haddock a little. Wed Aug 5 07:44:09 ART 2009 Petr Rockai * Get rid of finish, and provide expandUpdate instead, and use that in Index. Wed Aug 5 07:42:48 ART 2009 Petr Rockai * Make x `appendPath` (Name ".") a noop, keeping the AnchoredPath canonical. Mon Aug 3 08:57:32 ART 2009 Petr Rockai * It *may* make some sense to also *run* the Monad test. Mon Aug 3 08:52:12 ART 2009 Petr Rockai * First trivial testcase for TreeMonad. Mon Aug 3 08:51:30 ART 2009 Petr Rockai * Move the Show Tree instance from Tree to Test module. Mon Aug 3 08:20:19 ART 2009 Petr Rockai * Remove name{To,From}FilePath from AnchoredPath module. Mon Aug 3 07:20:16 ART 2009 Petr Rockai * Make the Arbitrary Tree instance also produce Stub nodes. Mon Aug 3 05:57:25 ART 2009 Petr Rockai * Update NEWS with Tree generalisation. Mon Aug 3 05:49:30 ART 2009 Petr Rockai * Also handle the old-style _darcs/current pristine trees. Mon Aug 3 05:33:31 ART 2009 Petr Rockai * Generalise much of the TreeIO interface to work on arbitrary TreeMonad. Mon Aug 3 05:33:15 ART 2009 Petr Rockai * Rudimentary support for SHA1 hashes (darcs generates those sometimes). Mon Aug 3 05:33:00 ART 2009 Petr Rockai * Complain in readDarcsPristine when the root pointer is bad. Mon Aug 3 03:49:50 ART 2009 Petr Rockai * Generalize the TreeIO monad into a monad transformer. Mon Aug 3 03:40:49 ART 2009 Petr Rockai * Generalize the Tree datatype over a monad to use. Mon Aug 3 03:39:25 ART 2009 Petr Rockai * Drop readOrUpgradeIndex (it's been deprecated and we broke API in 0.4). Sun Aug 2 06:57:01 ART 2009 Petr Rockai * Implement lookup functionality for packs. Sun Aug 2 06:56:42 ART 2009 Petr Rockai * Fail gracefully in looseLookup for NoHash. Wed Jul 29 13:02:12 ART 2009 Petr Rockai * Fix collateral from using plain hashes in object storage. (Ow, ugly.) Wed Jul 29 12:38:38 ART 2009 Petr Rockai * Haddock header for Packed. Wed Jul 29 12:38:26 ART 2009 Petr Rockai * Rename readOS to load. Wed Jul 29 12:37:45 ART 2009 Petr Rockai * The hatchery cleanup for compact is a removeFile (for now, anyway). Wed Jul 29 12:36:41 ART 2009 Petr Rockai * Use "plain" hashes in Packed (instead of the size-carrying darcs ones). Wed Jul 29 12:35:06 ART 2009 Petr Rockai * Move the darcs-specific packing bits into Darcs. Mon Jul 27 08:01:12 ART 2009 Petr Rockai * Bundle NEWS in source distribution. Mon Jul 27 08:00:29 ART 2009 Petr Rockai * Add a NEWS file. Mon Jul 27 07:40:19 ART 2009 Petr Rockai * Sprinkle a few haddocks around the Hash module. Mon Jul 27 07:39:44 ART 2009 Petr Rockai * Add a generic sha256 function to the Hash module. Mon Jul 27 07:38:56 ART 2009 Petr Rockai * We can now base64/url-encode (and decode) all Hash types. Sun Jul 26 10:38:07 ART 2009 Petr Rockai * Bump version to 0.4.0. Sun Jul 26 07:56:57 ART 2009 Petr Rockai * Refactor Hash datatypes extensively. Sun Jul 26 07:56:25 ART 2009 Petr Rockai * Do not forget to update hashes before syncing a hashed tree in Monad. Sun Jul 26 07:51:14 ART 2009 Petr Rockai * Avoid calling expandPath when not needed, in Monad. Sun Jul 26 07:50:44 ART 2009 Petr Rockai * Do not forget to reset changesize in Monad, upon sync. Sun Jul 26 07:38:39 ART 2009 Petr Rockai * Move floatPath into the AnchoredPath module. Sun Jul 26 06:32:49 ART 2009 Petr Rockai * Do not include _darcs/index in the testdata. Mon Jul 20 07:59:55 ART 2009 Petr Rockai * Avoid removing an in-use file on win32. Mon Jul 20 06:13:07 ART 2009 Petr Rockai * Minor formatting fix. Mon Jul 20 06:12:33 ART 2009 Petr Rockai * Do not remove associated Tree hashes in filter. Mon Jul 20 06:12:05 ART 2009 Petr Rockai * Do not fail when a nonexistent file is marked as changed in Monad. Sun Jul 19 08:26:07 ART 2009 Petr Rockai * A rudimentary implementation of createPack (which in turn enables compaction). Sun Jul 19 08:23:21 ART 2009 Petr Rockai * Use readOS after create to populate the in-memory structure. Sun Jul 19 08:21:26 ART 2009 Petr Rockai * More complete OS field initialisation (although dummy so far). Sun Jul 19 08:20:24 ART 2009 Petr Rockai * Implement post-compaction cleanup for loose hatcheries. Sun Jul 19 08:18:12 ART 2009 Petr Rockai * More utilities for darcs hashed trees embedded in an object storage. Sun Jul 19 08:17:05 ART 2009 Petr Rockai * Add a function to postorder-traverse and update a Tree. Sat Jul 18 11:26:06 ART 2009 Petr Rockai * Test live object collection for darcs pristine trees. Sat Jul 18 11:25:30 ART 2009 Petr Rockai * Implement rudimentary darcsPristineRefs (for chasing references). Sat Jul 18 10:49:28 ART 2009 Petr Rockai * Obliterate embarassingly useless iterateM and fix mfixFrom (IO is too strict...). Sat Jul 18 09:21:47 ART 2009 Petr Rockai * Also cover the items part of the expandPath-produced Tree. Sat Jul 18 09:19:19 ART 2009 Petr Rockai * Expand the expandPath testcase to cover more possibilities. Sat Jul 18 09:05:47 ART 2009 Petr Rockai * Add another QC property for restrict. Sat Jul 18 09:01:36 ART 2009 Petr Rockai * Add a simple QC property for restrict. Sat Jul 18 09:01:20 ART 2009 Petr Rockai * Add a testcase for writePlainTree. Sat Jul 18 08:48:36 ART 2009 Petr Rockai * Add a small testcase for diffTree of identical trees. Sat Jul 18 05:01:27 ART 2009 Petr Rockai * Add a testcase for readOS. Sat Jul 18 04:46:18 ART 2009 Petr Rockai * Improve haddock. Sat Jul 18 03:44:54 ART 2009 Petr Rockai * In hatch, discard objects that are already in the storage. Sat Jul 18 03:40:53 ART 2009 Petr Rockai * Clean up the interface implementing darcs hashed trees in object storage. Fri Jul 17 18:30:45 ART 2009 Petr Rockai * Add an example-style testcase for reachable. Fri Jul 17 18:18:57 ART 2009 Petr Rockai * Rudimentary testcase for creating and using object stores. Fri Jul 17 18:18:15 ART 2009 Petr Rockai * Factor out a "equals_testdata" for checking tree contents (in Test). Fri Jul 17 18:17:34 ART 2009 Petr Rockai * Add readPackedDarcsPristine to Packed (mostly for testing purposes). Fri Jul 17 18:16:37 ART 2009 Petr Rockai * More work on creating and reading object stores. Fri Jul 17 17:48:02 ART 2009 Petr Rockai * Implement rudimentary blockLookup for Loose hatchery. Fri Jul 17 17:28:42 ART 2009 Petr Rockai * Factor darcsParseDir out of readDarcsHashedDir. Fri Jul 17 16:15:55 ART 2009 Petr Rockai * Further work on Packed: implement creation and hatching for Loose hatchery. Fri Jul 17 08:02:52 ART 2009 Petr Rockai * Improve the modifyTree testcases slightly. Fri Jul 17 07:55:31 ART 2009 Petr Rockai * A basic testcase for diffTrees. Fri Jul 17 07:55:02 ART 2009 Petr Rockai * Minor tidying of the Test module. Fri Jul 17 06:38:08 ART 2009 Petr Rockai * Add a testcase for modifyTree used for removal (with Nothing passed). Fri Jul 17 06:24:00 ART 2009 Petr Rockai * Check plain tree contents in addition to pristine. Fri Jul 17 06:23:09 ART 2009 Petr Rockai * Add some bad and ugly filenames to the test data. Fri Jul 17 06:07:36 ART 2009 Petr Rockai * Add a check that mmaping empty file works. Fri Jul 17 06:00:15 ART 2009 Petr Rockai * More prototyping in Packed. Fri Jul 17 05:54:20 ART 2009 Petr Rockai * Also derive Ord for Hash. Fri Jul 17 05:54:14 ART 2009 Petr Rockai * One more QC property for "reachable". Fri Jul 17 05:47:21 ART 2009 Petr Rockai * Haddock the new utility functions. Fri Jul 17 05:40:39 ART 2009 Petr Rockai * Add "reachable" to Utils (comes with a pair of QC properties). Fri Jul 17 05:38:32 ART 2009 Petr Rockai * Add iterateM and (m)fixFrom to Utils (comes with QC and unit test respectively). Fri Jul 17 04:29:06 ART 2009 Petr Rockai * Fix QC tests to start with prop_, while unit tests start with check_. Fri Jul 17 04:27:50 ART 2009 Petr Rockai * Reorder test groups. Thu Jul 16 11:58:14 ART 2009 Petr Rockai * Haskell *still* can't read my mind. Make Packed compile (and expose it). Thu Jul 16 10:30:29 ART 2009 Petr Rockai * Haddock tweaks. Thu Jul 16 10:29:28 ART 2009 Petr Rockai * Start out on Storage.Hashed.Packed (for a lack of better name). Thu Jul 16 06:28:06 ART 2009 Petr Rockai * Avoid unused import warning in Utils. Thu Jul 16 06:27:25 ART 2009 Petr Rockai * Import Bundled.Posix qualified in Test to avoid future name clashes. Thu Jul 16 06:26:14 ART 2009 Petr Rockai * Refuse to overwrite files in TreeIO rename (darcs relies on this). Thu Jul 16 06:25:58 ART 2009 Petr Rockai * Properly encode whitespace in darcsFormatDir. Wed Jul 15 05:32:50 ART 2009 Petr Rockai tagged 0.3.6 Wed Jul 15 03:50:36 ART 2009 Petr Rockai * Bump version to 0.3.6. Wed Jul 15 03:27:13 ART 2009 Petr Rockai * Require mmap >= 0.4. Wed Jul 15 05:20:28 ART 2009 Petr Rockai * Improved fileExists check in testsuite. Wed Jul 15 05:19:12 ART 2009 Petr Rockai * Make a separate test group for Bundled.Posix. Wed Jul 15 05:17:49 ART 2009 Petr Rockai * Add a test for fileExists from Bundled.Posix. Wed Jul 15 05:12:04 ART 2009 Petr Rockai * Avoid symbol name conflicts with darcs sha256 implementation. Wed Jul 15 05:11:48 ART 2009 Petr Rockai * Make the testsuite pass on win32. Wed Jul 15 05:11:15 ART 2009 Petr Rockai * A quick&dirty unit test for getFileStatus/getSymbolicLinkStatus. Wed Jul 15 05:10:20 ART 2009 Petr Rockai * Do not try to use lstat on win32, it seems to be broken in GHC. Wed Jul 15 03:50:20 ART 2009 Petr Rockai * Bump the index magic to HSI1 (incompatible format change). Mon Jul 13 18:27:40 ART 2009 Petr Rockai * Get rid of last darcs use in the testsuite. Mon Jul 13 17:28:03 ART 2009 Petr Rockai * Do not use darcs show manifest in test, we have complete file list. Mon Jul 13 17:25:09 ART 2009 Petr Rockai * Avoid trailing slashes when stat-ing directories (fixes win32). Mon Jul 13 17:23:39 ART 2009 Petr Rockai * Correctly store path to the toplevel directory as ".", not "/". Mon Jul 13 17:20:53 ART 2009 Petr Rockai * Use readSegment to read hashed directory listings. Sun Jul 12 10:24:42 ART 2009 Petr Rockai * Add a flag to enable hpc support in profiled builds. Sun Jul 12 05:21:01 ART 2009 Petr Rockai * Expand the tree more thoroughly (and less fatally) in Monad. Fri Jul 10 11:37:13 ART 2009 Petr Rockai tagged 0.3.5 Fri Jul 10 11:19:07 ART 2009 Petr Rockai * Don't forget to export indexFormatValid. Fri Jul 10 11:06:51 ART 2009 Petr Rockai * Bump version to 0.3.5. Fri Jul 10 09:05:22 ART 2009 Petr Rockai * Rework the API for index versioning and deprecate readOrUpgradeIndex. Tue Jun 30 06:15:18 ART 2009 Petr Rockai * Add a bunch of QC properties for Tree manipulation. Tue Jun 30 06:14:06 ART 2009 Petr Rockai * Add an Arbitrary instance and a relaxed equality function for Tree. Tue Jun 30 06:12:40 ART 2009 Petr Rockai * Rudimentary Show instance for Tree. Mon Jun 29 19:04:28 ART 2009 Petr Rockai * Make the tests run outside of the hashed-storage darcs repo, too. Mon Jun 29 18:25:08 ART 2009 Petr Rockai * Set up repository test. Mon Jun 29 18:19:21 ART 2009 Petr Rockai * Use quickcheck2, since darcs uses that and cabal dislikes mixing QC 1 and 2. Sun Jun 28 17:15:59 ART 2009 Petr Rockai tagged 0.3.4 Sun Jun 28 17:15:50 ART 2009 Petr Rockai * Bump version to 0.3.4. Sun Jun 28 17:14:41 ART 2009 Petr Rockai * Give proper exit code in "cabal test". Sun Jun 28 17:10:50 ART 2009 Petr Rockai * Drop redundant expansion in test. Sun Jun 28 17:09:09 ART 2009 Petr Rockai * Check that index upgrade copes with bad or unknown index. Sun Jun 28 17:01:51 ART 2009 Petr Rockai * Remove _darcs/index before testing, if it exists. Sun Jun 28 16:50:20 ART 2009 Petr Rockai * Make the index format host-endianity-independent. Sun Jun 28 16:49:42 ART 2009 Petr Rockai * Fix some Wall noise. Sun Jun 28 16:38:43 ART 2009 Petr Rockai * Implement xlate32/xlate64 endianness conversion functions. Sun Jun 28 16:01:15 ART 2009 Petr Rockai * Add a function to read index and check its version, upgrading if needed. Sun Jun 28 16:00:53 ART 2009 Petr Rockai * Keep a magic number at start of the binary index. Sun Jun 28 15:57:11 ART 2009 Petr Rockai * Add a test for recent expandPath bug and combine the tree/generic groups. Sun Jun 28 15:36:24 ART 2009 Petr Rockai * Refactor tests and port to test-framework. Sun Jun 28 07:50:37 ART 2009 Petr Rockai * Fix typo in expandPath that broke the recursive case. Thu Jun 18 13:02:35 ART 2009 Petr Rockai tagged 0.3.3.2 Thu Jun 18 13:02:07 ART 2009 Petr Rockai * Fix build with GHC 6.8.2 (needs extension field in cabal). Bump version. Thu Jun 18 12:29:42 ART 2009 Petr Rockai tagged 0.3.3.1 Thu Jun 18 12:29:33 ART 2009 Petr Rockai * Bump version to 0.3.3.1. Thu Jun 18 12:28:55 ART 2009 Petr Rockai * Fix AnchoredPath parents *again*. Thu Jun 18 12:24:12 ART 2009 Petr Rockai tagged 0.3.3 Thu Jun 18 12:23:35 ART 2009 Petr Rockai * Do not forget to include Storage.Hashed.Test in distribution. Thu Jun 18 09:14:37 ART 2009 Petr Rockai * Further simplify AnchoredPath parents. Thu Jun 18 09:10:05 ART 2009 Petr Rockai * Fix compilation of tests. Thu Jun 18 09:07:56 ART 2009 Petr Rockai * Fix a silly bug in AnchoredPath parents. Thu Jun 18 08:23:04 ART 2009 Petr Rockai * Remove unused bit in Index. Thu Jun 18 08:12:46 ART 2009 Petr Rockai * Replace all unfold terminology with expand (breaks API). Thu Jun 18 07:24:22 ART 2009 Petr Rockai * Also parametrise the Tree hashing function in readIndex. Thu Jun 18 04:12:06 ART 2009 Petr Rockai * Export the TreeIO alias from Monad. Thu Jun 18 04:11:00 ART 2009 Petr Rockai * Move darcs-specific utilities to separate module (Storage.Hashed.Darcs). Thu Jun 11 19:39:12 ART 2009 Petr Rockai * Add fileExists and exists to Monad (unlike find*, these will unfold as needed). Thu Jun 11 18:16:54 ART 2009 Petr Rockai * Cut down build-depends (no longer need bytestring-mmap nor binary). Thu Jun 11 18:16:19 ART 2009 Petr Rockai * Use mmap instead of bytestring-mmap in readSegment (in Utils). Thu Jun 11 16:52:52 ART 2009 Petr Rockai * Refactor and beautify Tree unfold. Thu Jun 11 14:46:05 ART 2009 Petr Rockai * Make lcs an optional dependency (use -fdiff to get the Diff module). Tue Jun 9 04:22:02 ART 2009 Petr Rockai * Bump version to 0.3.3. Tue Jun 9 04:21:28 ART 2009 Petr Rockai * Un-hardcode _darcs/index from the Index module. Tue Jun 9 04:02:02 ART 2009 Petr Rockai * Make peekItem safe even when dirlen is Nothing. Tue Jun 9 03:49:27 ART 2009 Petr Rockai * Improve Index documentation. Sun Jun 7 07:12:29 ART 2009 Trent W. Buck * Fix "cabal haddock" parse error. Wed Jun 3 17:13:10 ART 2009 Petr Rockai tagged 0.3.2 Wed Jun 3 17:12:19 ART 2009 Petr Rockai * Tighten the base dependency since hackage complains otherwise. Wed Jun 3 17:07:22 ART 2009 Petr Rockai * Bump version to 0.3.2. Wed Jun 3 17:07:10 ART 2009 Petr Rockai * Fix typo in description in the cabal file. Wed Jun 3 17:05:13 ART 2009 Petr Rockai * Bump required cabal version to 1.6 (required for source-repository). Wed Jun 3 17:04:57 ART 2009 Petr Rockai * Really make the process dependency optional. Wed Jun 3 17:03:51 ART 2009 Petr Rockai * Check that unfolded Tree does not have any Stubs in it. Wed Jun 3 17:03:08 ART 2009 Petr Rockai * Do not miss Stubs that are hidden in a SubTree when unfolding. Wed Jun 3 17:02:45 ART 2009 Petr Rockai * Make rename of a non-existent file a non-fatal error (in TreeIO). Wed Jun 3 17:02:33 ART 2009 Petr Rockai * Add a makeName utility function to AnchoredPath. Wed Jun 3 16:55:46 ART 2009 Petr Rockai * Make the createIndex Stub error more specific. Tue Jun 2 07:35:00 ART 2009 Petr Rockai tagged 0.3.1 Tue Jun 2 07:34:55 ART 2009 Petr Rockai * Bump version to 0.3.1. Tue Jun 2 07:34:16 ART 2009 Petr Rockai * Do not build the unit tests by default (avoids dependency on new process lib). Mon Jun 1 05:26:33 ART 2009 Petr Rockai * Improve AnchoredPath API and haddocks. Mon Jun 1 05:24:21 ART 2009 Petr Rockai * Resolve conflicts in the cabal file. Mon Jun 1 05:11:15 ART 2009 Petr Rockai * Add haddock to TreeState. Mon Jun 1 05:11:00 ART 2009 Petr Rockai * Resolve conflict in Monad. Mon Jun 1 01:46:17 ART 2009 brian@lorf.org * Made small improvements to Haddock comments Mon Jun 1 01:29:26 ART 2009 brian@lorf.org * Made Setup.hs -Wall clean Mon Jun 1 01:27:46 ART 2009 brian@lorf.org * Added source-repository to cabal Mon Jun 1 01:25:52 ART 2009 brian@lorf.org * Made test-related sources -Wall clean Mon Jun 1 01:24:21 ART 2009 brian@lorf.org * Made small improvements to cabal file Mon Jun 1 01:09:53 ART 2009 brian@lorf.org * Made sources hlint clean Mon Jun 1 00:44:31 ART 2009 brian@lorf.org * Made sources -Wall clean Mon Jun 1 00:15:46 ART 2009 brian@lorf.org * Removed trailing whitespace, trailing blank lines Fri May 29 11:41:24 ART 2009 Petr Rockai tagged 0.3 Fri May 29 11:41:05 ART 2009 Petr Rockai * Update cabal (description and category). Fri May 29 08:19:33 ART 2009 Petr Rockai * Bump version to 0.3. Fri May 29 08:19:08 ART 2009 Petr Rockai * Use partial unfolding in TreeIO monad. Fri May 29 08:18:32 ART 2009 Petr Rockai * Provide unfoldPath to partially unfold a (stubbed) Tree. Wed May 27 04:02:07 ART 2009 Petr Rockai * Properly decode whitespace when reading darcs hashed pristine. Mon May 25 10:22:55 ART 2009 Petr Rockai * Improve the Tree zipping API somewhat. Sun May 24 13:30:20 ART 2009 Petr Rockai * Make the diffTree implementation symmetric. Sun May 24 13:30:07 ART 2009 Petr Rockai * Implement unlink and rename in Monad. Sun May 24 13:28:57 ART 2009 Petr Rockai * Omit missing files when reading an indexed tree. Sun May 24 13:27:29 ART 2009 Petr Rockai * Handle empty hashed pristine directories (they may omit gzip header). Sun May 24 13:25:17 ART 2009 Petr Rockai * Allow item/subtree removal in modifyTree. Sun May 24 13:23:46 ART 2009 Petr Rockai * Implement zipAllFiles, zipAllDirs. Sun May 24 13:23:09 ART 2009 Petr Rockai * Add emptyBlob, in addition to emptyTree. Sun May 24 13:22:09 ART 2009 Petr Rockai * Concede to also darcs-formatting sha1 sums sans the size prefix. Sun May 24 12:38:58 ART 2009 Petr Rockai * Fix cabal build-type to custom (we implement cabal test now). Sun May 24 12:35:28 ART 2009 Petr Rockai * Allow checking for file existence as a result of stat. Sat May 16 17:12:16 ART 2009 Petr Rockai * Optimize updateIndexFrom by re-using existing index data where applicable. Sat May 16 10:16:20 ART 2009 Petr Rockai * Make "cabal test" run the unit tests. Sat Apr 18 10:34:26 ART 2009 Eric Kow * Tighten up process dependency for GHC 6.8. Sat Apr 18 10:41:11 ART 2009 Petr Rockai * Properly get rid of "." and ".." in directory listings. Sat Apr 18 09:48:27 ART 2009 Petr Rockai * Fix warning. Sat Apr 18 08:10:32 ART 2009 Petr Rockai * Minor haddocks. Sat Apr 18 08:08:42 ART 2009 Petr Rockai * Clean up Index a little (stale comment purging). Sat Apr 18 08:07:19 ART 2009 Petr Rockai * Wall purification of Monad. Sat Apr 18 08:04:16 ART 2009 Petr Rockai * Modernize, improve and haddockize Monad a bit. Fri Apr 17 12:47:18 ART 2009 Petr Rockai * Back out a spuriously recorded trace. Fri Apr 17 10:41:14 ART 2009 Petr Rockai * More haddocks for Tree. Fri Apr 17 09:55:02 ART 2009 Petr Rockai * Add language pragmas to make GHC 6.8 happy. Fri Apr 17 10:29:09 ART 2009 Petr Rockai * Wall police in Diff. Fri Apr 17 10:26:52 ART 2009 Petr Rockai * Wall cleaning in Tree. Fri Apr 17 10:15:04 ART 2009 Petr Rockai * Cut Bundled.Posix to bare bones. Also fix any Wall noise. Fri Apr 17 10:09:41 ART 2009 Petr Rockai * Wall police in Index. Fri Apr 17 10:03:10 ART 2009 Petr Rockai * Obliterate a bunch of useless imports in Index. Fri Apr 17 10:01:31 ART 2009 Petr Rockai * Add missing type signatures to AnchoredPath. Fri Apr 17 10:00:23 ART 2009 Petr Rockai * Wall police in Utils.hs. Fri Apr 17 09:54:50 ART 2009 Petr Rockai * Wall police. Fri Apr 17 07:39:21 ART 2009 Petr Rockai * Kill unused (and wrong) import in Index. Fri Apr 17 07:32:38 ART 2009 Petr Rockai * Haddock updates. Wed Mar 25 16:32:30 ART 2009 Petr Rockai * We use mmap package now (in addition to bytestring-mmap). Wed Mar 25 16:32:05 ART 2009 Petr Rockai * Make modifyTree recursively create intermediate subtrees as required. Wed Mar 25 16:31:48 ART 2009 Petr Rockai * Haddock update. Wed Mar 25 16:31:19 ART 2009 Petr Rockai * Give a descriptive error when a hash is missing in darcsFormatDir. Wed Mar 25 16:30:29 ART 2009 Petr Rockai * Implement itemType to turn a Tree item into its associated ItemType. Wed Mar 25 16:29:16 ART 2009 Petr Rockai * A brand new Index reimplementation. Wed Mar 25 16:28:48 ART 2009 Petr Rockai * A rather very unsafe pokeBS utility function... Wed Mar 25 16:25:16 ART 2009 Petr Rockai * Fix unsafe use of init in Diff. Wed Mar 25 16:24:28 ART 2009 Petr Rockai * Add some AnchoredPath fiddling functionality. Wed Mar 25 16:22:04 ART 2009 Petr Rockai * Add a fine-tuned (and unsafe) getFileStatusBS :: ByteString -> IO FileStatus. Tue Mar 24 11:11:23 ART 2009 Petr Rockai * Make darcsTreeHash and darcsFormatDir operate on Tree. Tue Mar 24 11:10:03 ART 2009 Petr Rockai * Put some sensible GHC options into hashed-storage.cabal. Tue Mar 24 11:09:32 ART 2009 Petr Rockai * Implement AnchoredPath.floatBS to turn a strict bytestring into AnchoredPath. Tue Mar 24 11:09:03 ART 2009 Petr Rockai * Haddock update. Sun Feb 22 16:23:56 ARST 2009 Petr Rockai * Fix generation of directory entries in darcsFormatDir. Sun Feb 22 16:23:39 ARST 2009 Petr Rockai * Fix reading of empty index. Sun Feb 22 16:23:26 ARST 2009 Petr Rockai * Fix reading of empty hashed pristine. Sun Feb 22 16:22:41 ARST 2009 Petr Rockai * Optimise maybeSync in Monad. Sun Feb 22 07:59:17 ARST 2009 Petr Rockai * First go at plain and hashed TreeIO implementations. Sun Feb 22 07:58:56 ARST 2009 Petr Rockai * Make modifyTree work with empty path as well. Sun Feb 22 07:58:12 ARST 2009 Petr Rockai * Split darcsFormatDir from darcsTreeHash. Wed Feb 18 18:41:36 ARST 2009 Petr Rockai * Fix up broken testcases. Wed Feb 18 18:40:52 ARST 2009 Petr Rockai * Make the Hash on Blob optional (like it's with Tree). Tue Feb 17 12:39:30 ARST 2009 Petr Rockai * Use extensible-exceptions for sake of GHC 6.8. Tue Feb 17 12:16:12 ARST 2009 Petr Rockai * More efficient readIndex implementation. We now use Foreign.Storable and pointer manipulation instead of Data.Binary. This is faster, although it currently breaks big-endian machines. Not extremely hard to fix, just need an xlate-ish call. Tue Feb 17 11:00:02 ARST 2009 Petr Rockai * Yet another index reimplementation. Tue Feb 17 10:57:40 ARST 2009 Petr Rockai * Optionally keep size in Hash, so it can accomodate darcs-style hashes. Tue Feb 17 10:57:07 ARST 2009 Petr Rockai * Use ghc 6.10 exceptions. Sat Feb 14 18:38:53 ARST 2009 Petr Rockai * Use record syntax in Tree definition. Fri Feb 13 13:57:46 ARST 2009 Petr Rockai * Bump version to 0.2. Fri Feb 13 13:27:39 ARST 2009 Petr Rockai * Remove darcs-diff, a more powerful alternative is moving to a separate package. Fri Feb 13 13:27:10 ARST 2009 Petr Rockai * Fix up hashed-storage.cabal. Fri Feb 13 13:26:56 ARST 2009 Petr Rockai * Initial version of Storage.Hashed.Monad. Fri Feb 13 13:26:26 ARST 2009 Petr Rockai * Make modifyTree work correctly over stubbed Tree objects. Fri Feb 13 13:25:34 ARST 2009 Petr Rockai * Morph zipDiffFiles into diffTrees again (gives a pair of Tree objects). Fri Feb 13 13:24:45 ARST 2009 Petr Rockai * Add catPaths utility function to AnchoredPath. Thu Feb 12 11:37:06 ARST 2009 Petr Rockai * Implement subtree diffs in darcs-diff. Thu Feb 12 11:36:59 ARST 2009 Petr Rockai * Wrote a test for modifyTree. Thu Feb 12 11:36:27 ARST 2009 Petr Rockai * Minor test code refactor. Thu Feb 12 11:35:46 ARST 2009 Petr Rockai * A little inlining. No measurable impact either... Thu Feb 12 11:35:24 ARST 2009 Petr Rockai * Strictify the Tree structures a little (no measurable impact). Thu Feb 12 11:35:01 ARST 2009 Petr Rockai * Fix zipDiffFiles to work with hash-less Trees correctly. Thu Feb 12 11:33:44 ARST 2009 Petr Rockai * Implement modifyTree (replaces an item at given path). Thu Feb 12 11:32:51 ARST 2009 Petr Rockai * Use little endian formatting for binary index. Saves few cycles. Thu Feb 12 11:32:24 ARST 2009 Petr Rockai * Some trivial AnchoredPath utilities. Thu Feb 12 11:31:15 ARST 2009 Petr Rockai * Minor performance refactor (impact: negligible). Tue Feb 10 08:31:52 ARST 2009 Petr Rockai * Optimise the index layout a little bit. Tue Feb 10 08:28:08 ARST 2009 Petr Rockai * Implement semi-automatic index maintenance. Mon Feb 9 21:29:26 ARST 2009 Petr Rockai * Test that reading index contents works. Mon Feb 9 21:28:43 ARST 2009 Petr Rockai * Update index whenever it is out of date. Mon Feb 9 21:27:47 ARST 2009 Petr Rockai * Rewrite tree diff again (less elegant but more correct). Mon Feb 9 19:14:47 ARST 2009 Petr Rockai * Reduce GHC warnings. Mon Feb 9 19:00:38 ARST 2009 Petr Rockai * Reimplement the Tree diffing algorithm more elegantly. Mon Feb 9 18:59:58 ARST 2009 Petr Rockai * Add emptyTree, itemHash and (restore) zipFiles to Tree. Mon Feb 9 18:59:10 ARST 2009 Petr Rockai * Minor documentation updates. Sun Feb 8 10:44:13 ARST 2009 Petr Rockai * Simplify the Tree types a little. Sun Feb 8 07:31:55 ARST 2009 Petr Rockai * Put down some initial unit tests. Sun Feb 8 07:31:42 ARST 2009 Petr Rockai * Less debug noise. Sat Jan 31 20:38:47 ARST 2009 Petr Rockai * Get rid of unix-compat as well. The thin Bundled.Posix covers all bases. Sat Jan 31 20:35:09 ARST 2009 Petr Rockai * Drop direct unix dependency again. Sat Jan 31 20:32:25 ARST 2009 Petr Rockai * Use a less massive hack to get around that unsafePerformIO. I have lifted src/win32/System/Posix/Files.hsc from darcs, since this is a thin wrapper around System.Posix.Internal. I understand this is not the best way around, but it is at least semi-portable and maintains the factor 2.5 speedup of the previous hack (compared to official "unix" library). Sat Jan 31 19:40:05 ARST 2009 Petr Rockai * Fix up compile failures. Sat Jan 31 19:38:59 ARST 2009 Petr Rockai * Minor pragma wibbling in Index.hs. Sat Jan 31 14:53:56 ARST 2009 Petr Rockai * Documentation for the Diff module. Sat Jan 31 14:27:34 ARST 2009 Petr Rockai * Update haddock. Sat Jan 31 14:26:32 ARST 2009 Petr Rockai * Get rid of the ugly hashTree implementation for now. Fri Jan 30 19:20:40 ARST 2009 Petr Rockai * A massive hack to circumvent unsafePerformIO roundtrip per stat. Fri Jan 30 19:18:50 ARST 2009 Petr Rockai * Somewhat hacky lazy unfolding in diffTrees. Fri Jan 30 19:15:01 ARST 2009 Petr Rockai * Keep hashes with TreeStubs so we can unfold more lazily. Fri Jan 30 15:31:01 ARST 2009 Petr Rockai * Cache file sizes in indexed trees, produce darcs-compatible hashes. Fri Jan 30 15:30:27 ARST 2009 Petr Rockai * Add a dirHash function, producing darcs-compatible tree hashes. Fri Jan 30 09:45:18 ARST 2009 Petr Rockai * A Tree-hash based diffTrees implementation. Fri Jan 30 09:33:48 ARST 2009 Petr Rockai * First stab at hashes for Trees. Somewhat icky. Fri Jan 30 09:33:11 ARST 2009 Petr Rockai * Move sha256 helper into Utils. Fri Jan 30 09:26:38 ARST 2009 Petr Rockai * Normalise hashes instead of comparing them funkily. Thu Jan 29 10:05:58 ARST 2009 Petr Rockai * A couple huge-change-collateral fixes. Thu Jan 29 09:56:58 ARST 2009 Petr Rockai * Lots of changes for improved efficiency and cleaner code. - We now avoid constructing search trees just to deconstruct them into lists. - Indexed tree is standalone now, relying on the actual index for listing files, instead of piggybacking on an existing Tree (much simpler *and* more efficient). - Use Data.Map instead of bytestring-trie (although this might be redundant now that we don't do the list -> search-tree -> list roundtrip). However Map does have a nicer interface. Thu Jan 29 09:54:58 ARST 2009 Petr Rockai * Remove some bits from Hashed.hs that went into Utils. Thu Jan 29 09:52:15 ARST 2009 Petr Rockai * Minor YAGNI cleanup in Hashed.hs. Thu Jan 29 09:50:10 ARST 2009 Petr Rockai * Add a small utility module. Thu Jan 29 09:49:01 ARST 2009 Petr Rockai * Put Name in Eq and Ord. Tue Jan 27 12:04:09 ARST 2009 Petr Rockai * Move Tree into its own module, Storage.Hashed.Tree. Tue Jan 27 08:01:34 ARST 2009 Petr Rockai * Store indexes aside (in _darcs/index for darcs-diff). Tue Jan 27 07:34:26 ARST 2009 Petr Rockai * Wibble the cabal file up to date. Tue Jan 27 07:34:05 ARST 2009 Petr Rockai * Use indexed tree in darcs-diff.hs for the working directory. Tue Jan 27 07:33:45 ARST 2009 Petr Rockai * Optimise diffTrees for hash-based trees. Tue Jan 27 07:33:13 ARST 2009 Petr Rockai * First go at implementation of "indexed" Trees. Tue Jan 27 07:32:28 ARST 2009 Petr Rockai * Bundle SHA256 implementation from darcs. Haskell version from Hackage is SLOW. Tue Jan 27 07:31:27 ARST 2009 Petr Rockai * Cosmetic. Tue Jan 27 07:30:20 ARST 2009 Petr Rockai * Add Eq Hash instance that ignores length in darcs-style hashes. Tue Jan 27 07:30:06 ARST 2009 Petr Rockai * Split AnchoredPath off Hashed, wibble export/import lists. Mon Jan 26 23:18:13 ARST 2009 Petr Rockai * Simplify Tree . T.fromList to makeTree. Mon Jan 26 23:16:30 ARST 2009 Petr Rockai * Drop the nonsense parent pointers from Tree. Simplifies everything. Mon Jan 26 22:06:31 ARST 2009 Petr Rockai * Haddock zipBlobs, just in case. Mon Jan 26 18:41:07 ARST 2009 Petr Rockai * Use mmap somewhat more correctly. - Force GC to reclaim descriptors when they're out. - Handle zero-sized files correctly. - (We now also use bytestring-mmap instead of mmap, although that doesn't work on win32. It shouldn't be hard to move back to mmap or steal the win32 bits into bytestring-mmap.) Mon Jan 26 17:32:09 ARST 2009 Petr Rockai * Avoid chopping or LCS-ing identical files. Mon Jan 26 17:31:43 ARST 2009 Petr Rockai * Avoid unpacking & repacking hashes. Mon Jan 26 16:35:45 ARST 2009 Petr Rockai * Don't die when reduceContext is called on empty list. Mon Jan 26 16:35:10 ARST 2009 Petr Rockai * Fix zipBlobs to work with differently shaped Trees. Mon Jan 26 16:28:00 ARST 2009 Petr Rockai * Implement and use proper zipBlobs. This is needed since the items of list t1 and list t2 are not neccessarily in the same order, so we shouldn't be zipping those. Mon Jan 26 15:53:54 ARST 2009 Petr Rockai * A very simple darcs-diff implementation. Uses Storage.Hashed to read in the pristine and working trees and runs Storage.Hashed.Diff against the two. Ignores _darcs/patches/pending. Mon Jan 26 15:51:39 ARST 2009 Petr Rockai * Implement unified diff in Storage.Hashed.Diff. I realize this is not the right place, but I need this for easier benchmarking and it is also quite useful (haven't found unified diff in haskell). Uses Igloo's LCS package. Mon Jan 26 15:50:16 ARST 2009 Petr Rockai * Export blobs and list. Mon Jan 26 15:49:57 ARST 2009 Petr Rockai * Do not print extra empty line after a file in printPath. Mon Jan 26 15:49:21 ARST 2009 Petr Rockai * Fix broken laziness in unfold. Mon Jan 26 11:14:43 ARST 2009 Petr Rockai * I'll never get those haddocks right... Mon Jan 26 11:14:07 ARST 2009 Petr Rockai * Fix a bunch of mis-haddocks. Mon Jan 26 11:10:04 ARST 2009 Petr Rockai * Implement some helpers for ghci-based exploration. Mon Jan 26 11:09:03 ARST 2009 Petr Rockai * Allow the read function to be overriden by a Tree, instead of location. This also allows trivial transparent decompression of darcs hashed pristine trees (which is now implemented). Mon Jan 26 10:14:00 ARST 2009 Petr Rockai * Use [Name] for AnchoredPath newtype instead of custom-ish list-alike. Sun Jan 25 18:43:31 ARST 2009 Petr Rockai * A few handfuls of haddock wibbling. Sun Jan 25 18:36:26 ARST 2009 Petr Rockai * Fix minor type and order bugs in unfoldRestricted -> compile. Sun Jan 25 18:35:16 ARST 2009 Petr Rockai * Export unfoldRestricted and wibble the haddock. Sun Jan 25 18:34:34 ARST 2009 Petr Rockai * Rename filterTree to filter (consistency) and export restrict, filter. Sun Jan 25 18:32:22 ARST 2009 Petr Rockai * Fix unfoldRestricted even more, add missing haddocks. Sun Jan 25 18:17:48 ARST 2009 Petr Rockai * Implement filterTree and fix unfoldRestricted through it. Sun Jan 25 18:17:31 ARST 2009 Petr Rockai * Add type sig and haddock for unfoldAll. Sun Jan 25 18:17:09 ARST 2009 Petr Rockai * Rename 'p' parameter to unfold to predicate, for clarity. Sun Jan 25 18:05:38 ARST 2009 Petr Rockai * Add first iteration of unfoldRestricted. Sun Jan 25 18:04:57 ARST 2009 Petr Rockai * Rework unfold to take an (AnchoredPath -> IO Bool) predicate. Sun Jan 25 17:20:40 ARST 2009 Petr Rockai * Add partially-read Tree's, and a way to complete them. By default, reads now only read in the root of the tree and the subtrees are kept as TreeStubs. Use unfold and unfoldAll to remove stubs from a Tree. Sun Jan 25 14:32:46 ARST 2009 Petr Rockai * Export and document readDarcsPristine. Sun Jan 25 14:29:54 ARST 2009 Petr Rockai * Add readDarcsPristine :: FilePath -> Tree. Tue Jan 20 06:44:05 ARST 2009 Petr Rockai * Initial version.