Convert the reporter from (always) using a temporary file to a spill-buffer which (may) use a file if the report is too large. For small reports, it will be contained within memory and (thus) be much faster.
Convert the reporter from (always) using a temporary file to a
spill-buffer which (may) use a file if the report is too large. For small
reports, it will be contained within memory and (thus) be much faster.

* subversion/libsvn_repos/reporter.c:
  (struct report_baton_t): switch TEMPFILE over to READER
  (read_number): switch TEMP param over to READER, and switch to using the
    spillbuf reader's getc function
  (read_string): switch TEMP param to READER, pass the READER to
    read_number, and use the svn_spillbuf_reader_read() function to get
    content out of the spillbuf reader. make sure not to call the reader
    with len==0 (an illegal call to the reader)
  (read_rev): switch TEMP param to READER, switch to the spillbuf getc
    function, and pass READER to read_number().
  (read_depth): switch TEMP param to READER and use the reader getc func
  (read_path_info): switch TEMP param to READER. use the appropriate getc
    function and pass the READER to other functions
  (fetch_path_info, skip_path_info): pass the baton's READER member rather
    than the old TEMPFILE
  (finish_report): write content into the spillbuf. no need to seek back
    to the beginning. pass READER to read_path_info()
  (write_path_info): write to the READER spillbuf
  (svn_repos_finish_report): just call finish_report(). no file to close.
  (svn_repos_abort_report): nothing to do (no file to close).
  (svn_repos_begin_report2): create a spillbuf reader rather than a
    temporary file.

jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion