[darcs-users] darcs patch: Implement Repository.Repair to provide p... (and 3 more)

David Roundy droundy at darcs.net
Fri Sep 26 21:55:09 UTC 2008


On Fri, Sep 26, 2008 at 09:13:45PM +0200, Petr Rockai wrote:
> Hi, first sorry for the undescribed bundle, second sorry for the dupe: first is
> because I forgot --edit, second because I put send edit into my
> ~/.darcs/defaults and it didn't ask anything anyway (I since found that you
> can't use abbreviations in the defaults file, only on the commandline, which
> got me).
> 
> I just wanted to note that the bundle is quite rudimentary and highly untested
> -- just a very basic make check run (and I am not very confident that repair
> and check functionality is that well covered by the suite). I have not tried
> too hard to ensure that the check command is equivalent to what it has been
> before the patches. 
> 
> The general motivation behind sending now, as opposed to when I am more sure
> about it, is that someone might want to look over them in the meantime: I am
> not sure when is my next darcs timeslice. If noone finds the time to review a
> coarse patchset, don't worry, I'll revisit it later.
> 
> Oh, I should also mention, that when this is done, it should fix issue971
> finally. Or so I hope.

On the whole, it looks reasonable.  I like the refactoring aspect of
this, and the API doesn't look bad.  The only problem I've seen after
a quick test was that the progress message sais "Repairing" when it's
only checking--and then I saw you had a FIXME pointing this out.

If we weren't about to release darcs 2.1 I'd probably apply this right
now unless you objected, figuring that then it could be polished up by
the rest of us if you don't have time to finish it off to your
satisfaction.

My other concern was that it seems to be spending an awful lot of time
cleaning up after itself.  I know this is a hazard of HashedIO in
general (which is my fault), but it would be great if we could figure
out some way to make this faster or more efficient.

On my machine, check on the darcs repo is slowed down from 13s to 45s.
This isn't the end of the world (we hope people don't spend *too* much
time running darcs check), but it does affect the efficiency of using
darcs check simply to run the test suite on a clean copy (something I
do occasionally, just because I'm lazy).  It might be nice to have an
option (or hidden separate command?) to do darcs check the old way,
just for timings reasons.  But maybe that's just silly.  We could also
have an option (or separate command) to run the test suite on a clean
copy of the repository without running any tests, just copying the
pristine cache.  But the best option would be to figure out how to
improve the speed of check, and at the same time to incidentally
improve the speed of the rest of darcs, if we can figure out how to
make HashedIO more efficient.

David


More information about the darcs-users mailing list