soc progress 2

As for the last week… There have been some unexpected developments. The hashed-storage patches have started to trickle into mainline darcs instead of (as I have expected) sitting on my private branch for a while. This is partially due to my RM decision to try push for indexed whatsnew in darcs 2.3 (and Eric dutifully started to push patches into mainline, conjuring review coverage out of thin air…)

Either way, this has probably caused some intermittent breakage, although everything should be back on track with the latest patches. Also, due to some cabal vs ghc 6.8 vs process-1.0.1 bug, installing hashed-storage has caused problems for people on 6.8. Since that library is only required for the unit tests of hashed-storage, I have made this optional and people should be able to install hashed-storage 0.3.1 on 6.8 without much trouble (however, Hackage does not let me upload it right now, and I’m not sure why… I’ll try to resolve that ASAP).

Nevertheless, I am locally using darcs-hs with Record flipped over to use indexed diffing. This goes a long way to improve testing coverage of the index code, since almost everything in the testsuite relies on the record code (whereas the whatsnew code is only mildly tested). With the current versions of hashed-storage and darcs-hs, everything passes just fine, and most bugs I could find with previous incarnations are fixed (mostly pertaining to pending renames and to subtree queries). Unfortunately, doing a subtree query is for some reason relatively slow (although still reasonably faster than say darcs 2.2). I’ll look into that in the following week.

Moreover, I should start looking into getting us a new pristine format that I have promised in my application (the indexed working directory is, obviously, just a part of the whole deal).

In the last week, hashed-storage library has seen these changes:

And darcs-hs: