[darcs-users] Possibly a very simplistic solution

David Brown darcs at davidb.org
Thu May 20 11:54:01 UTC 2004


On Thu, May 20, 2004 at 07:13:15AM -0400, David Roundy wrote:

> This could be avoided by creating a simultaneous diff-and-sync function,
> but that would be a bit nasty, since diff itself is an ugly function.
> Also, it would eliminate the laziness in diff, which would be unfortunate.

How about memoizing the stat?  There are other aspects of darcs that
already assume the tree won't be changing under it (lazy slurp, for
example).

> Another way around it would be to not sync every time--we could randomly
> decide whether or not to sync, which would speed things up most of the time
> by a factor of two on large repos.  The catch would that if you record a
> very very large change, you may find afterwards that whatsnew/record are
> very very slow for a while, since they would keep running diff on all the
> files that you touched in that previous record.

If you did this, it would be handy to be able to override.  When I'm
tracking vim, occasionally, I will copy just the _darcs directory into a
new release and let darcs tell me what has changed.  It takes quite a
bit of time the first time, because of all of the timestamp changes.

There is already a flag to ignore the timestamps, so perhaps something
similar?

David Brown




More information about the darcs-users mailing list