Philip Martin wrote:
> Josh Pieper <jjp@pobox.com> writes:
>
> > Do you see any correctness or data loss concerns with the approach
> > other than this?
>
> No, I don't, but I have a variation to propose.
>
> Instead of accumulating the log in a single .svn/tmp/log write a
> series of separate log files with distinct, ordered, names. As each
> file is written it is moved from .svn/tmp to .svn but not run.
> Finally have the code that runs the log file loop over all the log
> files and sync the entries file once at the end. Now while writing
> multiple log files is probably not quite as efficient as writing a
> single log file, it should still be O(N) rather than O(N^2) since the
> entries file only gets written once. I'm not quite sure what scheme
> one would use to order the log files, perhaps simply choosing suitable
> filenames and sorting the apr_dir_read output would do.
This sounds workable. Would it be acceptable to use just a postfixed
number (log.1, log.2, etc...), and store the last used one in the
adm_access baton? When it comes time to run them, just loop from 1 to
the last used, then reset the last used. Sorting would be O(n log n),
which while not bad, isn't strictly necessary since we have a lock on
the directory.
-Josh
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun May 23 01:36:45 2004