[darcs-users] soc progress 7

Petr Rockai me at mornfall.net
Sun Jul 12 16:59:52 UTC 2009


soc progress 7

This report is a few days late, so first of all, sorry for that. Anyway, the
time since last report has been mostly split among two things: working on the
theory for the to-be storage format of darcs (which I posted on this blog,
under [[designing_storage_for_darcs]]) and on the 2.3 release.

Other than those, I have set up [HPC report for hashed-storage] [1] and a [trac
instance] [2] for the same.

[1]: http://repos.mornfall.net/hashed-storage/dist/hpc/hpc_index.html
[2]: http://repos.mornfall.net/hashed-storage/trac/

On the code side of things, even less has happened than the last week, but I
have started to sketch out the storage API in hashed-storage, and over the next
week, I'll be hopefully able to come up with first workable

Eric has also been asking about benchmarks for some time now, so I'll try to
get to revisiting Standard Darcs Benchmark in a bit, dust it and hopefully make
it reasonably faster to work with than it is.

I guess the last two points are more than enough for now of a TODO. I'll try to
get out next progress report on Friday, to get back on track a little.

The summary of hashed-storage changes for the week:

  * Add a flag to enable hpc support in profiled builds.
  * Expand the tree more thoroughly (and less fatally) in Monad.
  * Don't forget to export indexFormatValid.
  * Bump version to 0.3.5.
  * Rework the API for index versioning and deprecate readOrUpgradeIndex.

and for darcs-hs:

  * Resolve conflict.
  * Bump version to
  * Fix Wall warnings about applyToTree in Darcs.Gorsvet.
  * Fix segfaults when index is both invalid and in the wrong format.
  * Bump hashed-storage dependency to 0.3.5.
  * Include hspwd.hs in the distribution tarball.
  * Bump version to
  * Update build documentation in README.
  * Use the index upgrade functionality from hashed-storage >= 0.3.4.

... it also seems I (again) forgot to post soc progress 6 to the list, so here it is:

soc progress 6

First for the last week's TODO: endianity conversion and magic word in index
are now done. Other than that, I have been working on testing of
hashed-storage, and I am happy to announce that I now have a working Arbitrary
Tree instance and a bunch of QC properties, and also that the unit tests now
also run outside of a darcs checkout of hashed-storage. A few still need a
"darcs" binary present on the system, but I'll fix that in a bit (this just
comprises storing the relevant darcs outputs in the test data).

I have also fixed a stupid bug in hashed-storage that caused issues with darcs
whatsnew in 2.3 beta 1 involving subtree queries of 2nd-level or deeper
subdirectories. Together with the index upgrade functionality, this is now part
of 0.3.4 release of hashed-storage.

In other news, I have fixed a bug in mmap that caused current darcs-hs to fail
tests. While at it, I also improved error messages in mmap. Thanks to Gracjan's
prompt response, mmap-0.3 including my changes is now available through

Nothing much else, not so much an exciting week, but a few things have
solidified and darcs 2.3 is starting to look good.

The summary of hashed-storage changes for the week:

  * Add a bunch of QC properties for Tree manipulation.
  * Add an Arbitrary instance and a relaxed equality function for Tree.
  * Rudimentary Show instance for Tree.
  * Make the tests run outside of the hashed-storage darcs repo, too.
  * Set up repository test.
  * Use quickcheck2, since darcs uses that and cabal dislikes mixing QC 1 and 2.
  * Bump version to 0.3.4.
  * Give proper exit code in "cabal test".
  * Drop redundant expansion in test.
  * Check that index upgrade copes with bad or unknown index.
  * Remove _darcs/index before testing, if it exists.
  * Make the index format host-endianity-independent.
  * Fix some Wall noise.
  * Implement xlate32/xlate64 endianness conversion functions.
  * Add a function to read index and check its version, upgrading if needed.
  * Keep a magic number at start of the binary index.
  * Add a test for recent expandPath bug and combine the tree/generic groups.
  * Refactor tests and port to test-framework.
  * Fix typo in expandPath that broke the recursive case.

and for darcs-hs:

  * Bump hashed-storage dependency to 0.3.4.
  * Clean up unused imports in WhatsNew.
  * Add a TODO comment to the inefficient look-for-adds implementation.
  * Wall policy for Gorsvet's applyToTree.
  * Use the new hashed-storage index upgrade functionality.

More information about the darcs-users mailing list