On 11/6/07, Philip Martin <email@example.com> wrote:
> "David Glasser" <firstname.lastname@example.org> writes:
> > On 11/6/07, Philip Martin <email@example.com> wrote:
> >> Philip Martin <firstname.lastname@example.org> writes:
> >> > The original change raises a few questions: suppose a directory
> >> > contains 2000 files (I think GCC's ADA directory is about this size),
> >> > does the client now hold 2000 logfiles in memory? How much memory
> >> > does that take? Perhaps we should limit the number of log files held
> >> > in memory?
> >> A crude test shows that trunk uses a little bit more memory than 1.4
> >> but is faster, I'm happy with that.
> > So to clarify: you'd be OK with just applying the patch as posted? Or
> > should I implement the idea of adding a boolean which represents
> > whether or not the buffer is flushable?
> I'm happy with the memory/speed tradeoff made by trunk. I don't know
> for certain what behaviour the existing code has or what behaviour
> your patch gives. I'd not be happy if after watching 1500
> notifications "A somefile" scroll past that a failed network
> connection, or user interrupt, means that those 1500 files vanish.
Philip, I think the follow patch addresses your concern and is also a
lot simpler than the "keep a boolean" approach I'd suggested before.
What do you think?
Fix wc corruption caused by flushing potentially-incomplete logs
during baton cleanup on error, by only appending logs to the directory
baton when they represent a complete file-level operation. Makes the
new update test #42 pass.
(dir_baton): Explicitly document that the log_accum field must
always be flushable.
(close_directory, merge_file): Instead of writing directly to
db->log_accum, make a temporary svn_stringbuf_t, write to it, and
append it to db->log_accum in one operation at the end.
(test_list): eof_in_interactive_conflict_resolver now passes.
David Glasser | glasser_at_davidglasser.net | http://www.davidglasser.net/
Received on Tue Nov 6 21:41:50 2007
To unsubscribe, e-mail: email@example.com
For additional commands, e-mail: firstname.lastname@example.org